

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Registros de acceso para Amazon VPC Lattice
<a name="monitoring-access-logs"></a>

Los registros de acceso recopilan información detallada sobre las configuraciones de recursos y servicios de VPC Lattice. Puede usar estos registros de acceso para analizar los patrones de tráfico y controlar todos los servicios de la red. Para los servicios de VPC Lattice, publicamos `VpcLatticeAccessLogs` y para las configuraciones de recursos, publicamos las `VpcLatticeResourceAccessLogs` que deben configurarse por separado.

Los registros de acceso son opcionales y están deshabilitados de forma predeterminada. Después de habilitar los registros de acceso, puede deshabilitarlos en cualquier momento.

**Precios**  
Los cargos se aplican cuando se publican los registros de acceso. *Los registros que se publican de AWS forma nativa en su nombre se denominan registros vendidos.* Para obtener más información sobre los precios de los registros vendidos, consulta los [ CloudWatch precios de Amazon](https://aws.amazon.com/cloudwatch/pricing/), selecciona **Logs** y consulta los precios en **Vended** Logs.

**Topics**
+ [Permisos de IAM necesarios para habilitar los registros de acceso](#monitoring-access-logs-IAM)
+ [Destinos de registro de acceso](#monitoring-access-logs-destinations)
+ [Habilitación de registros de acceso](#monitoring-access-logs-enable)
+ [Seguimiento de solicitudes](#x-amzn-RequestId-enable)
+ [Contenidos del registro de acceso](#monitoring-access-logs-contents)
+ [Contenido del registro de acceso a los recursos](#monitoring-resource-access-logs-contents)
+ [Solución de problemas en el registro de acceso](#monitoring-access-logs-troubleshoot)

## Permisos de IAM necesarios para habilitar los registros de acceso
<a name="monitoring-access-logs-IAM"></a>

Para habilitar los registros de acceso y enviarlos a sus destinos, debe tener las siguientes acciones en la política asociada al usuario, grupo o rol de IAM que está utilizando.

------
#### [ JSON ]

****  

```
{
    "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 obtener más información, consulte [Adición y eliminación de permisos de identidad de IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la *Guía del usuario de AWS Identity and Access Management *.

Una vez que haya actualizado la política asociada al usuario, grupo o rol de IAM que está utilizando, vaya a [Habilitación de registros de acceso](#monitoring-access-logs-enable).

## Destinos de registro de acceso
<a name="monitoring-access-logs-destinations"></a>

Puede enviar registros de acceso a los siguientes destinos.

**Amazon CloudWatch Logs**
+ Por lo general, VPC Lattice entrega los registros a los registros en CloudWatch 2 minutos. Sin embargo, tenga en cuenta que el tiempo real de entrega de los registros se basa en el mayor esfuerzo y puede haber una demora adicional.
+ Se crea automáticamente una política de recursos y se agrega al grupo de CloudWatch registros si el grupo de registros no tiene determinados permisos. Para obtener más información, consulta [Registros enviados a CloudWatch Logs](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-CWL) en la *Guía del CloudWatch usuario de Amazon*.
+ Puede encontrar los registros de acceso que se envían en la CloudWatch sección Grupos de registros de la CloudWatch consola. Para obtener más información, consulta [Ver los datos de registro enviados a CloudWatch Logs](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData) en la *Guía del CloudWatch usuario de Amazon*.

**Amazon S3**
+ Normalmente, VPC Lattice le entrega los registros a Amazon S3 en un plazo de 6 minutos. Sin embargo, tenga en cuenta que el tiempo real de entrega de los registros se basa en el mayor esfuerzo y puede haber una demora adicional.
+ Se creará una política de bucket automáticamente y se añadirá a su bucket de Amazon S3 si este no cuenta con ciertos permisos. Para obtener más información, consulte [Registros enviados a Amazon S3](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-S3) en la *Guía del CloudWatch usuario de Amazon*.
+ Los registros de acceso que se envían a Amazon S3 utilizan la siguiente convención de nomenclatura:

  ```
  [bucket]/[prefix]/AWSLogs/[accountId]/VpcLattice/AccessLogs/[region]/[YYYY/MM/DD]/[resource-id]/[accountId]_VpcLatticeAccessLogs_[region]_[resource-id]_YYYYMMDDTHHmmZ_[hash].json.gz
  ```
+ VpcLatticeResourceAccessLogs que se envían a Amazon S3 utilizan la siguiente convención de nomenclatura:

  ```
  [bucket]/[prefix]/AWSLogs/[accountId]/VpcLattice/ResourceAccessLogs/[region]/[YYYY/MM/DD]/[resource-id]/[accountId]_VpcLatticeResourceAccessLogs_[region]_[resource-id]_YYYYMMDDTHHmmZ_[hash].json.gz
  ```

**Amazon Data Firehose**
+ Por lo general, VPC Lattice entrega los troncos a Firehose en 2 minutos. Sin embargo, tenga en cuenta que el tiempo real de entrega de los registros se basa en el mayor esfuerzo y puede haber una demora adicional.
+ Se crea automáticamente una función vinculada al servicio que otorga permiso a VPC Lattice para enviar registros de acceso a Amazon Data Firehose. Para que la creación automática de roles se realice correctamente, los usuarios deben disponer de permisos para la acción `iam:CreateServiceLinkedRole`. Para obtener más información, consulta [los registros enviados a Amazon Data Firehose](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-Firehose) en la *Guía del CloudWatch usuario de Amazon*.
+ Para obtener más información sobre cómo ver los registros enviados a Amazon Data Firehose, consulte el [Monitoreo de Amazon Kinesis Data Streams](https://docs.aws.amazon.com//streams/latest/dev/monitoring.html) dentro de la *Guía del desarrollador de Amazon Data Firehose *.

## Habilitación de registros de acceso
<a name="monitoring-access-logs-enable"></a>

Complete el siguiente procedimiento para configurar los registros de acceso a fin de capturar y entregar los registros de acceso al destino que elija.

**Topics**
+ [Habilitación de registro de acceso desde la consola](#monitoring-access-logs-console)
+ [Habilite los registros de acceso mediante el AWS CLI](#monitoring-access-logs-cli)

### Habilitación de registro de acceso desde la consola
<a name="monitoring-access-logs-console"></a>

Puede habilitar los registros de acceso para una red de servicios, un servicio o una configuración de recursos durante la creación. También puede habilitar los registros de acceso después de crear una configuración de red de servicio, servicio o recurso, tal como se describe en el siguiente procedimiento.

**Creación de un servicio básico mediante la consola**

1. Abra la consola de Amazon VPC en [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Seleccione la configuración de red, servicio o recurso de servicio.

1. Elija **Acciones**, **Editar configuraciones de registro**.

1. Active el conmutador de **Registros de acceso**.

1. Añada un destino de entrega para sus registros de acceso de la siguiente manera:
   + Seleccione **Grupo de CloudWatch registros** y elija un grupo de registros. Para crear un grupo de registros, elija **Crear un grupo de registros en CloudWatch**.
   + Seleccione **Bucket de S3** e introduzca la ruta del bucket de S3, incluido cualquier prefijo. Para buscar sus buckets de S3, elija **Explorar S3**.
   + Seleccione **Flujo de entrega de Kinesis Data Firehose** y elija un flujo de entrega. Para crear un flujo de entrega, elija **Crear un flujo de entrega en Kinesis**.

1. Seleccione **Save changes (Guardar cambios)**.

### Habilite los registros de acceso mediante el AWS CLI
<a name="monitoring-access-logs-cli"></a>

Use el comando CLI [create-access-log-subscription](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-access-log-subscription.html)para habilitar los registros de acceso para redes o servicios de servicio.

## Seguimiento de solicitudes
<a name="x-amzn-RequestId-enable"></a>

 VPC Lattice admite el seguimiento y la correlación de solicitudes entre clientes, objetivos y registros para la observabilidad y la depuración con el encabezado. x-amzn-requestid El cliente puede configurar y enviar este encabezado o generado por VPC Lattice y se envía a los destinos y también está disponible en los registros de acceso.

**Comportamiento predeterminado**
+ VPC Lattice genera automáticamente este encabezado para cada solicitud.
+ El valor es un identificador generado aleatoriamente (estilo UUID de forma predeterminada).
+ El identificador generado es:
  + Se propaga a objetivos posteriores.
  +  Se devuelven los encabezados de respuesta a los clientes.
  + Registros de acceso iniciados

**Ejemplo (respuesta predeterminada)**  
El siguiente es un ejemplo de una respuesta enviada al cliente con el comportamiento predeterminado de VPC Lattice que genera un valor aleatorio para el encabezado valu eof. x-amzn-requestid

```
{
    "HTTP/1.1 200 OK
    x-amzn-requestid: a9f2c7a1-6b4f-4c79-9e87-ff5a1234a001"
}
```

**El cliente establece el valor**
+ Los clientes pueden configurar opcionalmente este encabezado en las solicitudes entrantes para anular el valor generado automáticamente.
+ Consideraciones
  +  No es necesario que el valor del encabezado siga un formato de UUID.
  + Si el valor del encabezado supera los 512 bytes, VPC Lattice lo truncará a 512.
+  Si se anula correctamente, el valor del encabezado proporcionado hará lo siguiente:
  + Aparecerá en los encabezados de las respuestas
  + Propagarse a los objetivos
  + Aparecen en los registros y las métricas de acceso

**Ejemplo (anular la solicitud del cliente)**  
El siguiente es un ejemplo de una solicitud enviada por el cliente con un valor de encabezado.

```
{
    "GET /my-service/endpoint HTTP/1.1 
    Host: my-api.example.com
    x-amzn-requestid: trace-request-foobar"
}
```

**Ejemplo (respuesta de anulación predeterminada)**  
El siguiente es un ejemplo de una respuesta enviada al cliente con el valor anulado.

```
{
    "HTTP/1.1 200 OK
    x-amzn-requestid: trace-request-foobar"
}
```

## Contenidos del registro de acceso
<a name="monitoring-access-logs-contents"></a>

En la siguiente tabla se describen los campos de una entrada de registro de acceso.


| Campo | Description (Descripción) | Formato | 
| --- | --- | --- | 
|  callerPrincipalTags  | El de PrincipalTags la solicitud. | JSON | 
|  hostHeader  | El encabezado de autoridad de la solicitud. | cadena | 
|  sslCipher  | El nombre OpenSSL del conjunto de cifrados que se utiliza para establecer la conexión TLS del cliente. | cadena | 
|  serviceNetworkArn  | La red de servicios ARN. | arn:aws:vpc-lattice: :servicenetwork/ {{region}} {{account}} {{id}} | 
|  resolvedUser  | El ARN del usuario cuando se habilita y se realiza la autenticación. | anulación \| ARN \| “Anónimo” \| “Desconocido” | 
|  authDeniedReason  | El motivo por el que se rechaza el acceso cuando la autenticación está habilitada. | anulación \| “Servicio” \| “Red” \| “Identidad” | 
|  requestMethod  | El encabezado del método de la solicitud. | cadena | 
|  targetGroupArn  | El grupo de hosts de destino al que pertenece el host de destino. | cadena | 
|  tlsVersion  | La versión de TLS. | TLSv{{x}} | 
|  userAgent  | El encabezado del usuario-agente. | cadena | 
|  serverNameIndication  | [Solo HTTPS] El valor establecido en el socket de la conexión ssl para la indicación de nombre de servidor (SNI). | cadena | 
|  destinationVpcId  | El ID del VPC de destino. | vpc- {{xxxxxxxx}} | 
|  sourceIpPort  | Dirección IP y el puerto del origen. | {{ip}}:{{port}} | 
|  targetIpPort  | La dirección IP y el puerto de destino. | {{ip}}:{{port}} | 
|  serviceArn  | El servicio ARN. | arn:aws:vpc-lattice: :service/ {{region}} {{account}} {{id}} | 
|  sourceVpcId  | El ID del VPC de origen. | vpc- {{xxxxxxxx}} | 
|  requestPath  | La ruta de la solicitud. | LatticePath?:{{path}} | 
|  startTime  | La hora de inicio de la solicitud. | {{YYYY}}- {{MM}} - {{DD}} T {{HH}}{{MM}}: Z {{SS}} | 
|  protocol  | El protocolo. Actualmente, HTTP/1.1 o HTTP/2. | cadena | 
|  responseCode  | El código de respuesta HTTP. Solo se registra el código de respuesta de los encabezados finales. Para obtener más información, consulte [Solución de problemas en el registro de acceso](#monitoring-access-logs-troubleshoot).  | entero | 
|  bytesReceived  | Los bytes de cuerpo y encabezado recibidos. | entero | 
|  bytesSent  | Los bytes de cuerpo y encabezado enviados. | entero | 
|  duration  | Duración total en milisegundos de la solicitud desde la hora de inicio hasta la salida del último byte. | entero | 
|  requestToTargetDuration  | Duración total en milisegundos de la solicitud desde la hora de inicio hasta el envío a destino del último byte. | entero | 
|  responseFromTargetDuration  | Duración total en milisegundos de la solicitud desde el primer byte leído desde el host de destino hasta el envío al cliente del último byte. | entero | 
|  grpcResponseCode  | El código de respuesta gRPC. Para obtener más información, consulte los [Códigos de estado y su uso en gRPC](https://grpc.github.io/grpc/core/md_doc_statuscodes.html). Este campo solo se registra si el servicio es compatible con gRPC. | entero | 
|  requestId  | Se trata de un identificador único que se incluye automáticamente en las respuestas como valor del x-amzn-requestid encabezado. Permite la correlación de solicitudes entre clientes, objetivos y registros para garantizar la observabilidad y la depuración. | cadena | 
|  callerPrincipal  | La entidad principal autenticada. | cadena | 
|  callerX509SubjectCN  | El nombre del sujeto (CN). | cadena | 
|  callerX509IssuerOU  | El emisor (OU). | cadena | 
|  callerX509SANNameCN  | La alternativa del emisor (nombre/CN). | cadena | 
|  callerX509SANDNS  | El nombre alternativo del sujeto (DNS). | cadena | 
|  callerX509SANURI  | El nombre alternativo del sujeto (URI). | cadena | 
|  sourceVpcArn  | El ARN de la VPC en donde se originó la solicitud. | arn:aws:ec2: ::vpc/ {{region}} {{account}} {{id}} | 
| failureReason | Indica el motivo por el que se produjo un error en una solicitud. Los valores posibles son los siguientes:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/vpc-lattice/latest/ug/monitoring-access-logs.html) | cadena | 

**Ejemplo**  
A continuación, se muestra un ejemplo de entrada de registro.

```
{
    "callerPrincipalTags" : "{ "TagA": "ValA", "TagB": "ValB", ... }",
    "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,
    "requestId": "a9f2c7a1-6b4f-4c79-9e87-ff5a1234a001"
}
```

## Contenido del registro de acceso a los recursos
<a name="monitoring-resource-access-logs-contents"></a>

En la siguiente tabla se describen los campos de una entrada del registro de acceso a los recursos.


| Campo | Description (Descripción) | Formato | 
| --- | --- | --- | 
|  serviceNetworkArn  | La red de servicios ARN. | arn: {{partition}} vpc-lattice: ::servicenetwork/ {{region}} {{account}} {{id}} | 
|  serviceNetworkResourceAssociationId  | El ID del recurso de la red de servicio. | {{snra}}-{{xxx}} | 
|  vpcEndpointId  | El ID del punto final que se utilizó para acceder al recurso. | cadena | 
|  sourceVpcArn  | El ARN de la VPC de origen o la VPC desde la que se inició la conexión. | cadena | 
|  resourceConfigurationArn  | El ARN de la configuración de recursos a la que se accedió. | cadena | 
|  protocol  | El protocolo utilizado para comunicarse con la configuración de recursos. Actualmente, solo se admite tcp. | cadena | 
|  sourceIpPort  | La dirección IP y el puerto de la fuente que inició la conexión. | {{ip}}:{{port}} | 
|  destinationIpPort  | La dirección IP y el puerto desde los que se inició la conexión. Será la IP de SN-E/SN-A. | {{ip}}:{{port}} | 
|  gatewayIpPort  | La dirección IP y el puerto utilizados por la puerta de enlace de recursos para acceder al recurso. | {{ip}}:{{port}} | 
|  resourceIpPort  | La dirección IP y el puerto del recurso. | {{ip}}:{{port}} | 

**Ejemplo**  
A continuación, se muestra un ejemplo de entrada de registro.

```
{
    "eventTimestamp": "2024-12-02T10:10:10.123Z",
    "serviceNetworkArn": "arn:aws:vpc-lattice:us-west-2:1234567890:servicenetwork/sn-1a2b3c4d",
    "serviceNetworkResourceAssociationId": "snra-1a2b3c4d",
    "vpcEndpointId": "vpce-01a2b3c4d",
    "sourceVpcArn": "arn:aws:ec2:us-west-2:1234567890:vpc/vpc-01a2b3c4d",
    "resourceConfigurationArn": "arn:aws:vpc-lattice:us-west-2:0987654321:resourceconfiguration/rcfg-01a2b3c4d",
    "protocol": "tcp",
    "sourceIpPort": "172.31.23.56:44076",
    "destinationIpPort": "172.31.31.226:80",
    "gatewayIpPort": "10.0.28.57:49288",
    "resourceIpPort": "10.0.18.190:80"
}
```

## Solución de problemas en el registro de acceso
<a name="monitoring-access-logs-troubleshoot"></a>

Esta sección contiene una explicación de los códigos de error HTTP que pueden aparecer en los registros de acceso.


| Código de error | Causas posibles | 
| --- | --- | 
| HTTP 400: Solicitud errónea |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/vpc-lattice/latest/ug/monitoring-access-logs.html)  | 
| HTTP 403: Prohibido | Se configuró la autenticación del servicio, pero la solicitud entrante no está autenticada ni autorizada. | 
| HTTP 404: servicio inexistente | Está intentando conectarse a un servicio que no existe o que no está registrado en la red de servicio correcta. | 
| HTTP 500: Error interno del servidor | VPC Lattice ha detectado un error, por ejemplo, una falla al conectarse a los destinos. | 
| HTTP 502: Bad Gateway | VPC Lattice ha detectado un error. | 