Registros de flujo en AWS Global Accelerator - AWS Global Accelerator

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 flujo en AWS Global Accelerator

Los logs de flujo le permiten capturar información acerca del tráfico IP entrante y saliente de las interfaces de red en el acelerador de AWS Global Accelerator. Los datos del log de flujo se publican en Amazon S3, donde puede recuperarlos y ver los datos después de crear un log de flujo.

Los logs de flujo pueden ayudarle en una serie de tareas. Por ejemplo, puede solucionar problemas de por qué un tráfico específico no llega a un punto de enlace, lo cual a su vez le ayuda a diagnosticar reglas de grupo de seguridad excesivamente restrictivas. También puede utilizar logs de flujo como herramienta de seguridad para controlar el tráfico que llega a sus puntos de enlace.

Un registro de log de flujo representa un flujo de red en su log de flujo. Cada registro captura el flujo de red para una ventana específica de captura de 5 tuplas. Una tupla de 5 es un conjunto de cinco valores distintos que especifican el origen, el destino y el protocolo para un flujo IP. La ventana de captura es la duración del tiempo durante el cual el servicio de logs de flujo agrega datos antes de publicar registros de logs de flujo. La ventana de captura es de aproximadamente 10 segundos, pero puede ser de hasta 1 minuto.

Se aplican cargos de CloudWatch Logs cuando se usan registros de flujo, incluso cuando se publican registros directamente en Amazon S3. Para obtener más información, consulteEntregar registros a S3a lasPrecios de Amazon CloudWatch.

Publicación de registros de flujo en Amazon S3

Los logs de flujo de AWS Global Accelerator se publican en Amazon S3 en un bucket de S3 existente que especifique. Los registros de log de flujo se publican en una serie de objetos de archivos de registro que se almacenan en el bucket.

Para crear un bucket de Amazon S3 para utilizar con registros de flujo, consulte Crear un bucket en la Guía de introducción de Amazon Simple Storage Service.

Archivos de logs de flujo

Los registros de flujo recopilan entradas de registros de flujo, las consolidan en archivos de registro y, a continuación, publican los archivos de registro en el bucket de Amazon S3 en intervalos de cinco minutos. Cada archivo log contiene registros de logs de flujo del tráfico IP registrado en los cinco minutos anteriores.

El tamaño de archivo máximo de un archivo log es de 75 MB. Si el archivo log alcanza el límite de tamaño de archivo en el periodo de cinco minutos, el log de flujo deja de añadir registros de logs de flujo a este archivo, publica el archivo en el bucket de Amazon S3 y después crea un nuevo archivo log.

Los archivos de registro se guardan en el bucket de Amazon S3 especificado con una estructura de carpetas que viene determinada por el ID de registro de flujo, la región y la fecha en que se crearon. La estructura de carpetas del bucket usa el siguiente formato:

s3-bucket_name/s3-bucket-prefix/AWSLogs/aws_account_id/globalaccelerator/region/yyyy/mm/dd/

Del mismo modo, el nombre del archivo log viene determinado por el ID del log de flujo, la región y la fecha y hora en que se creó. Los nombres de archivo utilizan el formato siguiente:

aws_account_id_globalaccelerator_accelerator_id_flow_log_id_timestamp_hash.log.gz

Tenga en cuenta lo siguiente acerca de la estructura de nombres de carpetas y archivos para archivos de registro:

  • La marca de tiempo utiliza el formato YYYYMMDDTHHmmZ.

  • Si especifica barra diagonal (/) para el prefijo de depósito de S3, la estructura de la carpeta del depósito del archivo de registro incluirá una barra diagonal doble (//), como la siguiente:

    s3-bucket_name//AWSLogs/aws_account_id

El ejemplo siguiente muestra una estructura de carpetas y el nombre de archivo de un archivo log para un log de flujo creado por la cuenta de AWS123456789012para un acelerador con un ID de1234abcd-abcd-1234-abcd-1234abcdefgh, el 23 de noviembre de 2018 a las 00:05 UTC:

my-s3-bucket/prefix1/AWSLogs/123456789012/globalaccelerator/us-west-2/2018/11/23/123456789012_globalaccelerator_1234abcd-abcd-1234-abcd-1234abcdefgh_20181123T0005Z_1fb1234.log.gz

Un único archivo de registro de flujo contiene entradas entrelazadas con múltiples registros de 5 tupla; es decir,client_ip,client_port,accelerator_ip,accelerator_port,protocol. Para ver todos los archivos de registro de flujo del acelerador, busque las entradas agregadas por laaccelerator_idy suaccount_id.

Roles de IAM para publicar registros de flujo en Amazon S3

Una entidad principal de IAM, como un usuario de IAM, debe tener permisos suficientes para publicar registros de flujo en el bucket de Amazon S3. La política de IAM debe incluir los permisos siguientes:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeliverLogs", "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery" ], "Resource": "*" }, { "Sid": "AllowGlobalAcceleratorService", "Effect": "Allow", "Action": [ "globalaccelerator:*" ], "Resource": "*" }, { "Sid": "s3Perms", "Effect": "Allow", "Action": [ "s3:GetBucketPolicy", "s3:PutBucketPolicy" ], "Resource": "*" } ] }

Permisos del bucket de Amazon S3 para registros de flujo

De forma predeterminada, los buckets de Amazon S3 y los objetos que contienen son privados. Solo el propietario del bucket puede tener acceso al bucket y a los objetos almacenados en él. Sin embargo, el propietario del bucket puede conceder acceso a otros recursos y usuarios escribiendo una política de acceso.

Si el usuario que crea el log de flujo es el propietario del bucket, el servicio asocia automáticamente la siguiente política al bucket para conceder al log de flujo permiso para publicar registros en él:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket_name/optional_folder/AWSLogs/account_id/*", "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}} }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::bucket_name" } ] }

Si el usuario que va a crear el log de flujo no es el propietario del bucket o no tiene los permisos GetBucketPolicy y PutBucketPolicy para el bucket, se produce un error al crear el log de flujo. En este caso, el propietario del bucket debe agregar manualmente la política anterior al bucket y especificar el ID de cuenta de AWS del creador del log de flujo. Para obtener más información, consulte¿Cómo agrego una política de bucket en S3?en laAmazon Simple Storage Service Getting Started Guide. Si el bucket recibe logs de flujo de varias cuentas, añada un entrada del elemento Resource a la instrucción AWSLogDeliveryWrite de la política para cada cuenta.

Por ejemplo, la siguiente política de bucket permite a las cuentas de AWS 123123123 y 456456456456 publicar registros de flujo en una carpeta denominadaflow-logsen un depósito llamadolog-bucket:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::log-bucket/flow-logs/AWSLogs/123123123123/*", "arn:aws:s3:::log-bucket/flow-logs/AWSLogs/456456456456/*" ], "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}} }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::log-bucket" } ] }
nota

Le recomendamos que conceda elAWSLogDeliveryAclCheckyAWSLogDeliveryWriteLos permisos para el principal del servicio de entrega de logs en lugar de los distintos ARN de la cuenta de AWS.

Política de claves CMK necesarias para usar con buckets de SSE-KMS

Si habilitó el cifrado en el servidor para su bucket de Amazon S3 utilizando claves administradas por AWS KMS (SSE-KMS) con una clave maestra de cliente (CMK) administrada por el cliente, debe agregar lo siguiente a la política de claves de la CMK de modo que los registros de flujo puedan escribir archivos de registro en el bucket:

{ "Sid": "Allow AWS Global Accelerator Flow Logs to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": "kms:GenerateDataKey*", "Resource": "*" }

Permisos de archivos de registro de Amazon S3

Además de las políticas de bucket necesarias, Amazon S3 utiliza listas de control de acceso (ACL) para administrar el acceso a los archivos de registro creados por un registro de flujo. De forma predeterminada, el propietario del bucket tiene los permisos FULL_CONTROL en cada archivo log. El propietario de la entrega de logs, si es diferente del propietario del bucket, no tiene permisos. La cuenta de entrega de logs tiene los permisos READ y WRITE. Para obtener más información, consulteInformación general de las Access Control Lists (ACL, Listas de control de acceso)en laAmazon Simple Storage Service Getting Started Guide.

Habilitar registros de flujo de publicación en Amazon S3

Para habilitar los registros de flujo en AWS Global Accelerator, siga los pasos de este procedimiento.

Para habilitar los registros de flujo en AWS Global Accelerator

  1. Cree un bucket de Amazon S3 para sus registros de flujo en su cuenta de AWS.

  2. Agregue la política de IAM necesaria para el usuario de AWS que habilita los registros de flujo. Para obtener más información, consulte Roles de IAM para publicar registros de flujo en Amazon S3.

  3. Ejecute el siguiente comando de la CLI de AWS, con el nombre y el prefijo del bucket de Amazon S3 que desea utilizar para los archivos de registro:

    aws globalaccelerator update-accelerator-attributes --accelerator-arn arn:aws:globalaccelerator::012345678901:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh --region us-west-2 --flow-logs-enabled --flow-logs-s3-bucket s3-bucket-name --flow-logs-s3-prefix s3-bucket-prefix

Procesamiento de entradas de registro de flujo en Amazon S3

Los archivos log están comprimidos. Si abre los archivos de registro con la consola de Amazon S3, se descomprimen y se muestran las entradas de registro de flujo. Si descarga los archivos, debe descomprimirlos para ver los registros de logs de flujo.

Tiempo de entrega de archivos de registro

AWS Global Accelerator proporciona archivos de registro para el acelerador configurado hasta varias veces cada hora. En general, un archivo de registro contiene información acerca de las solicitudes que ha recibido el acelerador durante un periodo determinado. Normalmente, Global Accelerator entrega el archivo de registro de ese periodo en el bucket de Amazon S3 en el plazo máximo de una hora después de que se produzcan los eventos reflejados en el registro. Algunas o todas las entradas de archivos de registro de un periodo a veces pueden retrasarse hasta 24 horas. Cuando se retrasan entradas de registro, Global Accelerator las guarda en un archivo de registro cuyo nombre incluye la fecha y la hora del periodo en el que se realizaron las solicitudes en lugar de incluir la fecha y la hora de entrega del archivo.

Al crear un archivo de registro, Global Accelerator consolida información para el acelerador desde todas las ubicaciones de borde que recibieron solicitudes durante el periodo que abarca dicho archivo de registro.

Global Accelerator comienza a enviar de forma fiable los archivos de registro sobre cuatro horas después de activar los registros. Es posible obtener algunos archivos de registro antes del momento de envío.

nota

Si ningún usuario conecta con el acelerador durante ese periodo, no recibirá archivos de registro para ese periodo.

Sintaxis de registros de log de flujo

Un registro de log de flujo es una cadena separada por espacios con el siguiente formato:

<version> <aws_account_id> <accelerator_id> <client_ip> <client_port> <accelerator_ip> <accelerator_port> <endpoint_ip> <endpoint_port> <protocol> <ip_address_type> <packets> <bytes> <start_time> <end_time> <action> <log-status> <globalaccelerator_source_ip> <globalaccelerator_source_port> <endpoint_region> <globalaccelerator_region> <direction> <vpc_id>

El formato de la versión 1.0 no incluye el identificador de VPC,vpc_id. El formato de la versión 2.0, que incluyevpc_id, se genera cuando Global Accelerator envía tráfico a un endpoint con la preservación de la dirección IP del cliente.

En la siguiente tabla se describen los campos de un registro de logs de flujo.

Campo Descripción

version

La versión de los registros de flujo.

aws_account_id

El ID de cuenta de AWS el log de flujo.

accelerator_id

El ID del acelerador para el que se registra el tráfico.

client_ip

La dirección IPv4 de origen.

client_port

El puerto de origen.

accelerator_ip

La dirección IP del acelerador

accelerator_port

El puerto del acelerador.

endpoint_ip

La dirección IP de destino del tráfico.

endpoint_port

El puerto de destino del tráfico.

protocol

El número de protocolo IANA del tráfico. Para obtener más información, consulte Assigned Internet Protocol Numbers.

ip_address_type

IPv4.

packets

El número de paquetes transferidos durante la ventana de captura.

bytes

El número de bytes transferidos durante la ventana de captura.

start_time

La hora, en segundos Unix, de inicio de la ventana de captura.

end_time

La hora, en segundos Unix, de finalización de la ventana de captura.

action

La acción asociada al tráfico:

  • ACCEPT: los grupos de seguridad o las ACL de red han permitido el tráfico registrado. El valor es actualmente siempre ACEPTAR.

log-status

El estado de registro del log de flujo:

  • OK: los datos se registran normalmente en los destinos elegidos.

  • NODATA: no ha habido tráfico de red entrante ni saliente de la interfaz de red durante la ventana de captura.

  • SKIPDATA: algunos registros de logs de flujo se han omitido durante la ventana de captura. Esto puede deberse a una restricción de capacidad interna, o a un error interno.

globalaccelerator_source_ip

La dirección IP utilizada por la interfaz de red del acelerador global.

globalaccelerator_source_port

El puerto utilizado por la interfaz de red del acelerador global.

endpoint_region

La región de AWS en la que se encuentra el punto de enlace.

globalaccelerator_region

La ubicación de borde (punto de presencia) que atendió la solicitud. Cada ubicación de borde tiene un código de tres letras y un número asignado arbitrariamente, por ejemplo, DFW3. El código de tres letras normalmente se corresponde con el código de aeropuerto (según la Asociación de Transporte Aéreo Internacional) más cercano a la ubicación de borde. Estas abreviaturas pueden cambiar en el futuro.

direction

La dirección del tráfico. Indica el tráfico que entra en la red Global Accelerator (INGRESS) o volviendo al cliente (EGRESS).

vpc_id

El identificador de VPC. Se incluye con los registros de flujo de la versión 2.0 cuando Global Accelerator envía tráfico a un endpoint con la preservación de la dirección IP del cliente.

Si un campo no aplica para un registro específico, el registro mostrará un símbolo '-' para esa entrada.