Registros de acceso del Equilibrador de carga de aplicación - Elastic Load Balancing

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 del Equilibrador de carga de aplicación

Elastic Load Balancing proporciona registros de acceso que capturan información detallada sobre las solicitudes enviadas al equilibrador de carga. Cada registro contiene distintos datos, como el momento en que se recibió la solicitud, la dirección IP del cliente, las latencias, las rutas de solicitud y las respuestas del servidor. Puede utilizar estos registros de acceso para analizar los patrones de tráfico y solucionar problemas.

Los registros de acceso son una característica opcional de Elastic Load Balancing que está desactivada de forma predeterminada. Una vez que se han habilitado los registros de acceso del equilibrador de carga, Elastic Load Balancing captura los registros y los almacena en el bucket de Amazon S3 que haya especificado como archivos comprimidos. Puede deshabilitar los registros de acceso en cualquier momento.

Se cobran los costos de almacenamiento en Amazon S3, pero no el ancho de banda que Elastic Load Balancing utilice para enviar los archivos de registros a Amazon S3. Para obtener más información acerca de los costos de almacenamiento, consulte Precios de Amazon S3.

Archivos de registro de acceso

Elastic Load Balancing publica un archivo de registro por cada nodo del equilibrador de carga cada 5 minutos. La entrega de registros presenta consistencia final. El equilibrador de carga puede entregar varios registros para el mismo periodo. Esto suele ocurrir si el tráfico del sitio es elevado.

Los nombres de archivo de los registros de acceso utilizan el siguiente formato:

bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
bucket

Nombre del bucket de S3.

prefix

(Opcional) El prefijo (jerarquía lógica) del bucket. El prefijo que especifique no debe incluir la cadena AWSLogs. Para obtener más información, consulte Organizar objetos con prefijos.

AWSLogs

Agregamos la parte del nombre de archivo que comienza por AWSLogs después del nombre del bucket y el prefijo que especifique.

aws-account-id

El ID de AWS cuenta del propietario.

region

La región del equilibrador de carga y del bucket de S3.

aaaa/mm/dd

La fecha de entrega del log.

load-balancer-id

ID de recurso del equilibrador de carga. Si el ID de recurso contiene barras diagonales (/), estas se sustituyen por puntos (.).

end-time

La fecha y hora en que finalizó el intervalo de registro. Por ejemplo, si el valor de este campo es 20140215T2340Z, contiene las entradas correspondientes a las solicitudes realizadas entre las 23:35 y las 23:40 en la zona horaria de Zulu o UTC.

ip-address

La dirección IP del nodo del equilibrador de carga que controló la solicitud. Si se trata de un equilibrador de carga interno, es una dirección IP privada.

random-string

Una cadena generada aleatoriamente por el sistema.

A continuación, se muestra un ejemplo de nombre de archivo de registro con el prefijo:

s3://my-bucket/my-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz

A continuación, se muestra un ejemplo de nombre de archivo de registro sin un prefijo:

s3://my-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz

Puede almacenar los archivos de registro en su bucket durante todo el tiempo que desee, pero también puede definir reglas de ciclo de vida de Amazon S3 para archivar o eliminar archivos de registro automáticamente. Para obtener más información, consulte Administración del ciclo de vida de los objetos en la Guía del usuario de Amazon Simple Storage Service.

Entradas de los registros de acceso

Elastic Load Balancing registra las solicitudes enviadas al equilibrador de carga, incluidas las que nunca han llegado a los destinos. Por ejemplo, si un cliente envía una solicitud con un formato incorrecto o no hay ningún destino en buen estado para responder, la solicitud se registra igualmente. Elastic Load Balancing no registra las solicitudes de comprobación de estado.

Cada entrada de registro contiene los detalles de una sola solicitud (o conexión en su caso WebSockets) realizada al balanceador de cargas. WebSocketsEn efecto, una entrada se escribe solo después de cerrar la conexión. Si la conexión actualizada no se puede establecer, la entrada será la misma que para una solicitud HTTP o HTTPS.

importante

Elastic Load Balancing registra las solicitudes en la medida en que sea posible. Recomendamos utilizar los registros de acceso para comprender la naturaleza de las solicitudes y no como una relación exhaustiva de todas las solicitudes.

Sintaxis

En la siguiente tabla se describen los campos de una entrada de registro de acceso, por orden. Todos los campos están delimitados por espacios. Cuando se introducen campos nuevos, se añaden al final de la entrada de log. Debe hacer caso omiso de todos los campos inesperados situados al final de la entrada de log.

Campo Descripción

type

Tipo de solicitud o conexión. Los valores posibles son los siguientes (haga caso omiso de todos los demás valores):

  • http — HTTP

  • https — HTTP sobre TLS

  • h2 — HTTP/2 sobre SSL/TLS

  • grpcs — gRPC sobre TLS

  • ws — WebSockets

  • wss— WebSockets mediante TLS

hora

Hora a la que el equilibrador de carga generó una respuesta al cliente, en formato ISO 8601. Pues WebSockets, este es el momento en que se cierra la conexión.

elb

ID de recurso del equilibrador de carga. Al analizar entradas de registro de acceso, tenga en cuenta que los ID de recursos pueden contener barras diagonales (/).

client:port

Dirección IP y puerto del cliente solicitante. Si hay un proxy delante del equilibrador de carga, este campo contiene la dirección IP del proxy.

target:port

Dirección IP y puerto del destino que procesó esta solicitud.

Si el cliente no envió una solicitud completa, el equilibrador de carga no puede enviar la solicitud a un destino, en cuyo caso este valor se establece en -.

Si el destino es una función de Lambda, este valor se establece en -.

Si la solicitud está bloqueada por AWS WAF, este valor se establece en - y el valor de elb_status_code se establece en 403.

request_processing_time

Tiempo total (en segundos, con precisión de milisegundo) transcurrido desde que el equilibrador de carga recibió la solicitud hasta que se la envió a un destino.

Este valor también se establece en -1 si el equilibrador de carga no consigue enviar la solicitud a un destino. Esto puede ocurrir si el destino cierra la conexión antes de que se agote el tiempo de inactividad o si el cliente envía una solicitud con el formato incorrecto.

Este valor también se puede establecer en -1 si el destino registrado no responde antes de que se agote el tiempo de inactividad.

Si AWS WAF está habilitada para su Application Load Balancer o el tipo de destino es una función Lambda, se tendrá en cuenta el tiempo que tarda el cliente en enviar los datos necesarios para las solicitudes POST. request_processing_time

target_processing_time

Tiempo total (en segundos, con precisión de milisegundo) transcurrido desde que el equilibrador de carga envió la solicitud a un destino hasta que este comenzó a enviar los encabezados de la respuesta.

Este valor también se establece en -1 si el equilibrador de carga no consigue enviar la solicitud a un destino. Esto puede ocurrir si el destino cierra la conexión antes de que se agote el tiempo de inactividad o si el cliente envía una solicitud con el formato incorrecto.

Este valor también se puede establecer en -1 si el destino registrado no responde antes de que se agote el tiempo de inactividad.

Si no AWS WAF está activado para su Application Load Balancer, se tendrá en cuenta el tiempo que tarda el cliente en enviar los datos necesarios para las solicitudes POST. target_processing_time

response_processing_time

Tiempo total (en segundos, con precisión de milisegundo) transcurrido desde que el equilibrador de carga recibió el encabezado de respuesta del destino hasta que comenzó a enviar la respuesta al cliente. Esto incluye tanto el tiempo de cola en el equilibrador de carga como tiempo de adquisición de la conexión entre el equilibrador de carga y el cliente.

Este valor se establece en -1 si el equilibrador de carga no recibe una respuesta de un destino. Esto puede ocurrir si el destino cierra la conexión antes de que se agote el tiempo de inactividad o si el cliente envía una solicitud con el formato incorrecto.

elb_status_code

El código de estado de la respuesta generado por el balanceador de cargas, la regla de respuesta fija o el código de respuesta AWS WAF personalizado para las acciones de bloqueo.

target_status_code

Código de estado de la respuesta desde el destino. Este valor se registra únicamente si se estableció una conexión con el destino y este envió una respuesta. De lo contrario, se establece en -.

received_bytes

Tamaño de la solicitud, en bytes, recibida desde el cliente (solicitante). Para las solicitudes HTTP, incluye los encabezados. Pues WebSockets, este es el número total de bytes recibidos del cliente en la conexión.

sent_bytes

Tamaño de la respuesta, en bytes, enviada al cliente (solicitante). Para las solicitudes HTTP, incluye los encabezados. Pues WebSockets, es el número total de bytes enviados al cliente en la conexión.

"request"

La línea de solicitud del cliente entre comillas y registrada con el siguiente formato: Método HTTP + protocolo://host:puerto/uri + versión de HTTP. El equilibrador de carga conserva la URL que envía el cliente, tal como está, al registrar el URI de la solicitud. No establece el tipo de contenido para el archivo de registro de acceso. Al procesar este campo, tenga en cuenta cómo envió el cliente la URL.

"user_agent"

Cadena User-Agent que identifica el cliente que originó la solicitud, entre comillas. La cadena consta de uno o varios identificadores de producto, con el formato producto[/versión]. Si la cadena tiene más de 8 KB, se trunca.

ssl_cipher

[Agente de escucha HTTPS] Cifrado SSL. Este valor se establece en - si el oyente no es un oyente HTTPS.

ssl_protocol

[Agente de escucha HTTPS] El protocolo SSL. Este valor se establece en - si el oyente no es un oyente HTTPS.

target_group_arn

Nombre de recurso de Amazon (ARN) del grupo de destino.

"trace_id"

El contenido del encabezado X-Amzn-Trace-Id, entre comillas.

"domain_name"

[Agente de escucha HTTPS] El dominio de SNI proporcionado por el cliente durante el protocolo de TLS, entre comillas. Este valor está establecido en - si el cliente no admite SNI o el dominio no coincide con un certificado y se presenta al cliente el certificado predeterminado.

"chosen_cert_arn"

[Agente de escucha HTTPS] El ARN del certificado presentado al cliente, entre comillas. Este valor se establece en session-reused si se reutiliza la sesión. Este valor se establece en - si el oyente no es un oyente HTTPS.

matched_rule_priority

El valor de prioridad de la regla que coincide con la solicitud. Si hay una regla que coincide, este es un valor de 1 a 50 000. Si no hay ninguna regla que coincida, y se ha realizado la acción predeterminada, este valor se establece en 0. Si se produce un error durante la evaluación de reglas, se establece en -1. Para cualquier otro error, se establece en -.

request_creation_time

Hora a la que el equilibrador de carga recibió la solicitud del cliente, en formato ISO 8601.

"actions_executed"

Las acciones realizadas al procesar la solicitud, entre comillas. Este valor es una lista separada por comas que puede incluir los valores que se describen en Medidas tomadas. Si no se ha realizado ninguna acción, como en el caso de una solicitud con formato incorrecto, este valor se establece en -.

"redirect_url"

URL del destino de redirección incluida en el encabezado de ubicación de la respuesta HTTP entre comillas dobles. Si no se ejecutan acciones de redirección, este valor se establece en -.

"error_reason"

El código de motivo de error, entre comillas dobles. Si la solicitud produjo un error, este es uno de los códigos de error que se describen en Códigos de motivo de error. Si las acciones realizadas no incluyen una acción de autenticación o el destino no es una función de Lambda, este valor se establece en -.

"target:port_list"

Una lista delimitada por espacios de direcciones IP y puertos para los destinos que procesaron esta solicitud, entre comillas dobles. Actualmente, esta lista puede contener un elemento y coincide con el campo target:port.

Si el cliente no envió una solicitud completa, el equilibrador de carga no puede enviar la solicitud a un destino, en cuyo caso este valor se establece en -.

Si el destino es una función de Lambda, este valor se establece en -.

Si la solicitud está bloqueada por AWS WAF, este valor se establece en - y el valor de elb_status_code se establece en 403.

"target_status_code_list"

Una lista delimitada por espacios de códigos de estado de las respuestas de los destinos, entre comillas dobles. Actualmente, esta lista puede contener un elemento y coincide con el campo target_status_code.

Este valor se registra únicamente si se estableció una conexión con el destino y este envió una respuesta. De lo contrario, se establece en -.

"classification"

La clasificación de la mitigación de la desincronización, entre comillas dobles. Si la solicitud no cumple con RFC 7230, los valores posibles son Aceptable, Ambiguo y Grave.

Si la solicitud cumple con RFC 7230, este valor se establece en -.

"classification_reason"

El código de motivo de la clasificación, entre comillas dobles. Si la solicitud no cumple con la RFC 7230, se trata de uno de los códigos de clasificación descritos en Motivos de la clasificación. Si la solicitud cumple con RFC 7230, este valor se establece en -.

conn_trace_id

El identificador de trazabilidad de la conexión es un identificador opaco único que se utiliza para identificar cada conexión. Una vez establecida una conexión con un cliente, las solicitudes posteriores de este cliente incluirán este ID en sus respectivas entradas del registro de acceso. Este ID actúa como una clave externa para crear un enlace entre los registros de conexión y acceso.

Medidas tomadas

El equilibrador de carga almacena las acciones que realiza en el campo actions_executed del registro de acceso.

  • authenticate: el equilibrador de carga validó la sesión, autenticó al usuario y agregó la información del usuario a los encabezados de las solicitudes, según lo especificado en la configuración de la regla.

  • fixed-response: el equilibrador de carga emitió una respuesta fija, según lo especificado en la configuración de la regla.

  • forward: el equilibrador de carga reenvió la solicitud a un destino, según lo especificado en la configuración de la regla.

  • redirect: el equilibrador de carga redirigió la solicitud a otra URL, según lo especificado en la configuración de la regla.

  • waf: el equilibrador de carga reenvió la solicitud a AWS WAF para determinar si debía reenviarse al destino. Si esta es la acción final, AWS WAF determinó que la solicitud debe rechazarse. De forma predeterminada, las solicitudes rechazadas por se AWS WAF registrarán como «403» en el elb_status_code campo. Si AWS WAF está configurado para rechazar solicitudes con un código de respuesta personalizado, el elb_status_code campo reflejará el código de respuesta configurado.

  • waf-failed— El balanceador de cargas intentó reenviar la solicitud AWS WAF, pero el proceso falló.

Motivos de la clasificación

Si una solicitud no cumple con RFC 7230, el equilibrador de carga almacena uno de los siguientes códigos en el campo classification_reason del registro de acceso. Para obtener más información, consulte Modo de mitigación de desincronización.

Código Descripción Clasificación

AmbiguousUri

El URI de la solicitud contiene caracteres de control.

Ambigua

BadContentLength

El encabezado Content-Length contiene un valor que no se puede analizar o que no es un número válido.

Grave

BadHeader

Un encabezado contiene un carácter nulo o un retorno de carro.

Grave

BadTransferEncoding

El encabezado Transfer-Encoding contiene un valor incorrecto.

Grave

BadUri

El URI de la solicitud contiene un carácter nulo o un retorno de carro.

Grave

BadMethod

El método de la solicitud tiene un formato incorrecto.

Grave

BadVersion

La versión de la solicitud tiene un formato incorrecto.

Grave

BothTeClPresent

La solicitud contiene un encabezado Transfer-Encoding y un encabezado Content-Length.

Ambigua

DuplicateContentLength

Hay varios encabezados Content-Length con el mismo valor.

Ambigua

EmptyHeader

Un encabezado está vacío o hay una línea que solo contiene espacios.

Ambigua

GetHeadZeroContentLength

Hay un encabezado Content-Length con un valor de 0 para una solicitud GET o HEAD.

Aceptable

MultipleContentLength

Hay varios encabezados Content-Length con valores diferentes.

Grave

MultipleTransferEncodingChunked

Hay varios encabezados Transfer-Encoding fragmentados.

Grave

NonCompliantHeader

Un encabezado contiene un carácter de control o no ASCII.

Aceptable

NonCompliantVersion

La versión de la solicitud contiene un valor incorrecto.

Aceptable

SpaceInUri

El URI de la solicitud contiene un espacio sin codificación URL.

Aceptable

SuspiciousHeader

Hay un encabezado que se puede normalizar a Transfer-Encoding o Content-Length mediante técnicas comunes de normalización de texto.

Ambigua

UndefinedContentLengthSemantics

Hay un encabezado Content-Length definido para una solicitud GET o HEAD.

Ambigua

UndefinedTransferEncodingSemantics

Hay un encabezado Transfer-Encoding definido para una solicitud GET o HEAD.

Ambigua

Códigos de motivo de error

Si el equilibrador de carga no puede completar una acción de autenticación, el equilibrador de carga almacena uno de los siguientes códigos de motivo de error en el campo error_reason del registro de acceso. El balanceador de cargas también incrementa la métrica correspondiente. CloudWatch Para obtener más información, consulte Autenticación de usuarios mediante un Equilibrador de carga de aplicación.

Código Descripción Métrica

AuthInvalidCookie

La cookie de autenticación no es válida.

ELBAuthFailure

AuthInvalidGrantError

El código de concesión de autorización del punto de conexión del token no es válido.

ELBAuthFailure

AuthInvalidIdToken

El token de ID no es válido.

ELBAuthFailure

AuthInvalidStateParam

El parámetro de estado no es válido.

ELBAuthFailure

AuthInvalidTokenResponse

La respuesta desde el punto de conexión del token no es válida.

ELBAuthFailure

AuthInvalidUserinfoResponse

La respuesta desde el punto de conexión de información de usuario no es válida.

ELBAuthFailure

AuthMissingCodeParam

En la respuesta de autenticación desde el punto de conexión de autorización falta un parámetro de consulta denominado ‘code’.

ELBAuthFailure

AuthMissingHostHeader

En la respuesta de autenticación desde el punto de conexión de autorización falta un campo de encabezado de host.

ELBAuthError

AuthMissingStateParam

En la respuesta de autenticación desde el punto de conexión de autorización falta un parámetro de consulta denominado ‘state’.

ELBAuthFailure

AuthTokenEpRequestFailed

Hay una respuesta de error (no 2XX) del punto de conexión del token.

ELBAuthError

AuthTokenEpRequestTimeout

El equilibrador de carga no puede comunicarse con el punto de conexión del token.

ELBAuthError

AuthUnhandledException

El equilibrador de carga encontró una excepción no administrada.

ELBAuthError

AuthUserinfoEpRequestFailed

Hay una respuesta de error (no 2XX) del punto de conexión de información de usuario de IdP.

ELBAuthError

AuthUserinfoEpRequestTimeout

El equilibrador de carga no puede comunicarse con el punto de conexión de información de usuario de IdP.

ELBAuthError

AuthUserinfoResponseSizeExceeded

El tamaño de las reclamaciones devueltas por el IdP supera los 11K bytes.

ELBAuthUserClaimsSizeExceeded

Si se produce un error en una solicitud a un grupo de destino ponderado, el equilibrador de carga almacena uno de los siguientes códigos de error en el campo error_reason del registro de acceso.

Código Descripción

AWSALBTGCookieInvalid

La AWSALBTG cookie, que se utiliza con los grupos objetivo ponderados, no es válida. Por ejemplo, el equilibrador de carga devuelve este error cuando los valores de la cookie están codificados como URL.

WeightedTargetGroupsUnhandledException

El equilibrador de carga encontró una excepción no administrada.

Si una solicitud dirigida a una función de Lambda produce un error, el equilibrador de carga almacena uno de los siguientes códigos de motivo en el campo error_reason del registro de acceso. El balanceador de cargas también incrementa la métrica correspondiente CloudWatch . Para obtener más información, consulte la acción Lambda Invoke.

Código Descripción Métrica

LambdaAccessDenied

El equilibrador de carga no tenía permiso para invocar la función de Lambda.

LambdaUserError

LambdaBadRequest

Se ha producido un error en la invocación lambda porque los encabezados o el cuerpo de la solicitud del cliente no contenían únicamente caracteres UTF-8.

LambdaUserError

LambdaConnectionError

El equilibrador de carga no puede conectarse a Lambda.

LambdaInternalError

LambdaConnectionTimeout

Se agotó el tiempo de espera al intentar conectarse a Lambda.

LambdaInternalError

LambdaEC2AccessDeniedException

Amazon EC2 denegó el acceso a Lambda durante la inicialización de la función.

LambdaUserError

LambdaEC2ThrottledException

Amazon EC2 aplicó una restricción a Lambda durante la inicialización de la función.

LambdaUserError

LambdaEC2UnexpectedException

Amazon EC2 detectó una excepción inesperada durante la inicialización de la función.

LambdaUserError

LambdaENILimitReachedException

Lambda no pudo crear una interfaz de red en la VPC especificada en la configuración de la función de Lambda porque se superó el límite de interfaces de red.

LambdaUserError

LambdaInvalidResponse

La respuesta de la función de Lambda no tiene el formato correcto o no incluye campos obligatorios.

LambdaUserError

LambdaInvalidRuntimeException

La versión especificada del tiempo de ejecución de Lambda no se admite.

LambdaUserError

LambdaInvalidSecurityGroupIDException

El ID de grupo de seguridad especificado en la configuración de la función de Lambda no es válido.

LambdaUserError

LambdaInvalidSubnetIDException

El ID de subred especificado en la configuración de la función de Lambda no es válido.

LambdaUserError

LambdaInvalidZipFileException

Lambda no pudo descomprimir el archivo zip de la función especificada.

LambdaUserError

LambdaKMSAccessDeniedException

Lambda no pudo descifrar las variables de entorno porque se denegó el acceso a la clave de KMS. Compruebe los permisos de KMS de la función de Lambda.

LambdaUserError

LambdaKMSDisabledException

Lambda no pudo descifrar las variables de entorno, porque se deshabilitó la clave de KMS especificada. Compruebe la configuración de la clave de KMS de la función de Lambda.

LambdaUserError

LambdaKMSInvalidStateException

Lambda no pudo descifrar las variables de entorno porque el estado de la clave de KMS no era válido. Compruebe la configuración de la clave de KMS de la función de Lambda.

LambdaUserError

LambdaKMSNotFoundException

Lambda no pudo descifrar las variables de entorno porque no se encontró la clave de KMS. Compruebe la configuración de la clave de KMS de la función de Lambda.

LambdaUserError

LambdaRequestTooLarge

El tamaño del cuerpo de la solicitud era superior a 1 MB.

LambdaUserError

LambdaResourceNotFound

No se pudo encontrar la función de Lambda.

LambdaUserError

LambdaResponseTooLarge

El tamaño de la respuesta era superior a 1 MB.

LambdaUserError

LambdaServiceException

Lambda detectó un error interno.

LambdaInternalError

LambdaSubnetIPAddressLimitReachedException

Lambda no pudo configurar el acceso a la VPC de la función de Lambda porque una o varias subredes no tenían direcciones IP disponibles.

LambdaUserError

LambdaThrottling

La función de Lambda se rechazó porque había demasiadas solicitudes.

LambdaUserError

LambdaUnhandled

La función de Lambda encontró una excepción no administrada.

LambdaUserError

LambdaUnhandledException

El equilibrador de carga encontró una excepción no administrada.

LambdaInternalError

LambdaWebsocketNotSupported

WebSockets Lambda no los admite.

LambdaUserError

Si el balanceador de cargas detecta un error al reenviar las solicitudes AWS WAF, almacena uno de los siguientes códigos de error en el campo error_reason del registro de acceso.

Código Descripción

WAFConnectionError

El balanceador de cargas no se puede conectar a. AWS WAF

WAFConnectionTimeout

Se agotó el AWS WAF tiempo de espera de la conexión.

WAFResponseReadTimeout

Se ha agotado el AWS WAF tiempo de espera de una solicitud.

WAFServiceError

AWS WAF devolvió un error de 5XX.

WAFUnhandledException

El equilibrador de carga encontró una excepción no administrada.

Ejemplo de entradas de registro

A continuación, se muestran ejemplos de entradas de registro. Tenga en cuenta que el texto aparece en varias líneas únicamente para facilitar su lectura.

Ejemplo de entrada HTTP

A continuación se muestra un ejemplo de entrada de registro para un oyente HTTP (del puerto 80 al puerto 80):

http 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 192.168.131.39:2817 10.0.0.1:80 0.000 0.001 0.000 200 200 34 366 "GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - - arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337262-36d228ad5d99923122bbe354" "-" "-" 0 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.1:80" "200" "-" "-"
Ejemplo de entrada HTTPS

A continuación se muestra un ejemplo de entrada de registro para un oyente HTTPS (del puerto 443 al puerto 80):

https 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 192.168.131.39:2817 10.0.0.1:80 0.086 0.048 0.037 200 200 0 57 "GET https://www.example.com:443/ HTTP/1.1" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337281-1d84f3d73c47ec4e58577259" "www.example.com" "arn:aws:acm:us-east-2:123456789012:certificate/12345678-1234-1234-1234-123456789012" 1 2018-07-02T22:22:48.364000Z "authenticate,forward" "-" "-" "10.0.0.1:80" "200" "-" "-" TID_123456
Ejemplo de entrada HTTP/2

A continuación se muestra un ejemplo de entrada de registro para un flujo de HTTP/2.

h2 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 10.0.1.252:48160 10.0.0.66:9000 0.000 0.002 0.000 200 200 5 257 "GET https://10.0.2.105:773/ HTTP/2.0" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337327-72bd00b0343d75b906739c42" "-" "-" 1 2018-07-02T22:22:48.364000Z "redirect" "https://example.com:80/" "-" "10.0.0.66:9000" "200" "-" "-"
Ejemplo WebSockets de entrada

A continuación se muestra un ejemplo de entrada de registro para una WebSockets conexión.

ws 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 10.0.0.140:40914 10.0.1.192:8010 0.001 0.003 0.000 101 101 218 587 "GET http://10.0.0.30:80/ HTTP/1.1" "-" - - arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.1.192:8010" "101" "-" "-"
Ejemplo de WebSockets entrada segura

El siguiente es un ejemplo de entrada de registro para una WebSockets conexión segura.

wss 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 10.0.0.140:44244 10.0.0.171:8010 0.000 0.001 0.000 101 101 218 786 "GET https://10.0.0.30:443/ HTTP/1.1" "-" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.171:8010" "101" "-" "-"
Entradas de ejemplo de funciones de Lambda

A continuación, se muestra una entrada de registro de ejemplo de una solicitud dirigida a una función de Lambda que se realizó correctamente:

http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 192.168.131.39:2817 - 0.000 0.001 0.000 200 200 34 366 "GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - - arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 0 2018-11-30T22:22:48.364000Z "forward" "-" "-" "-" "-" "-" "-"

A continuación, se muestra una entrada de registro de ejemplo de una solicitud dirigida a una función de Lambda que produjo un error:

http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 192.168.131.39:2817 - 0.000 0.001 0.000 502 - 34 366 "GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - - arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 0 2018-11-30T22:22:48.364000Z "forward" "-" "LambdaInvalidResponse" "-" "-" "-" "-"

Procesamiento de archivos de registro de acceso

Los archivos de registro de acceso están comprimidos. Si abre los archivos en la consola de Amazon S3, se descomprimen y se muestra la información. Si descarga los archivos, debe descomprimirlos para ver la información.

Si existe una gran cantidad de demanda en el sitio web, el equilibrador de carga puede generar archivos registro con gigabytes de datos. Es posible que no pueda procesar una cantidad tan grande de datos mediante el line-by-line procesamiento. En tal caso, podría ser preciso utilizar herramientas de análisis que ofrezcan soluciones de procesamiento en paralelo. Por ejemplo, puede utilizar las siguientes herramientas de análisis para analizar y procesar los registros de acceso: