Crear un registro de flujo que se publique en Amazon S3 - Amazon VPC

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.

Crear un registro de flujo que se publique en Amazon S3

Los registros de flujo pueden publicar datos de registros de flujo en Amazon S3.

Al publicar en Amazon S3, los datos de registro de flujo se publican en un bucket de Amazon S3 existente que especifique. Las entradas de registros de flujo de todas las puertas de enlace de tránsito monitoreadas se publican en una serie de objetos de archivos de registro que se almacenan en el bucket.

Al publicar los registros de flujo en Amazon S3, los cargos Amazon CloudWatch por ingesta y archivado de datos se aplican a los registros vendidos. Para obtener más información sobre CloudWatch los precios de los registros vendidos, abre Amazon CloudWatch Pricing, selecciona Logs y, a continuación, busca Vended Logs.

Para crear un bucket de Amazon S3 a fin de utilizarlo con registros de flujo, consulte Create a bucket (Crear un bucket) en la Guía de introducción de Amazon Simple Storage Service.

Para obtener más información acerca del registro de varias cuentas, consulte Registro central en la Biblioteca de soluciones de AWS .

Para obtener más información sobre CloudWatch los registros, consulte Registros enviados a Amazon S3 en la Guía del usuario de Amazon CloudWatch Logs.

Archivos de registro de flujo

VPC Flow Logs es una función que recopila colecciones de 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 de registro contiene registros 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ñadirle registros de logs de flujo. A continuación, publica el registro de flujo en el bucket de Amazon S3 y crea un nuevo archivo de registro.

En Amazon S3, el campo Last modified (Última modificación) del archivo de registro de flujo indica la fecha y la hora en que el archivo se cargó en el bucket de Amazon S3. Este valor es posterior a la marca temporal del nombre de archivo y difiere en la cantidad de tiempo invertido en cargar el archivo en el bucket de Amazon S3.

Formato de archivo de registro

Puede especificar uno de los siguientes formatos para los archivos de registro. Cada archivo se comprime en un único archivo Gzip.

  • Texto: Texto sin formato. Este es el formato predeterminado.

  • Parquet: Apache Parquet es un formato de datos columnar. Las consultas sobre los datos en formato Parquet son de 10 a 100 veces más rápidas en comparación con las consultas de datos en texto sin formato. Los datos en formato Parquet con compresión Gzip ocupan un 20 por ciento menos de espacio de almacenamiento que el texto sin formato con compresión Gzip.

Opciones de archivo de registro

Puede especificar las siguientes opciones:

  • Prefijos de S3 compatibles con Hive: Habilite los prefijos compatibles con Hive en lugar de importar las particiones a las herramientas compatibles con Hive. Antes de ejecutar las consultas, utilice el comando MSCK REPAIR TABLE.

  • Particiones por horas: Si tiene un gran volumen de registros y, por lo general, orienta las consultas a una hora en específico, puede obtener resultados más rápidos y ahorrar en costos de consulta si particiona los registros por hora.

Estructura del bucket de S3 del archivo de registro

Los archivos de registro se guardan en el bucket de Amazon S3 especificado con una estructura de carpetas basada en el ID del registro de flujo, la Región, la fecha en que se crearon y en las opciones de destino.

De forma predeterminada, los archivos se entregan en la siguiente ubicación.

bucket-and-optional-prefix/AWSLogs/account_id/vpcflowlogs/region/year/month/day/

Si habilita los prefijos de S3 compatibles con Hive, los archivos se entregan en la siguiente ubicación.

bucket-and-optional-prefix/AWSLogs/aws-account-id=account_id/service=vpcflowlogs/aws-region=region/year=year/month=month/day=day/

Si habilita particiones por hora, los archivos se entregan en la siguiente ubicación.

bucket-and-optional-prefix/AWSLogs/account_id/vpcflowlogs/region/year/month/day/hour/

Si habilita particiones compatibles con Hive y particiona el registro de flujo por hora, los archivos se entregan en la siguiente ubicación.

bucket-and-optional-prefix/AWSLogs/aws-account-id=account_id/service=vpcflowlogs/aws-region=region/year=year/month=month/day=day/hour=hour/
Nombre de archivo de registro

El nombre de archivo de un archivo de registro se basa en el ID del registro de flujo, la Región y en la fecha y hora de creación. Los nombres de archivo utilizan el formato siguiente.

aws_account_id_vpcflowlogs_region_flow_log_id_YYYYMMDDTHHmmZ_hash.log.gz

A continuación, se muestra un ejemplo de un archivo de registros para un registro de flujo que la Cuenta de AWS 123456789012 ha creado para un recurso en la Región us-east-1, el June 20, 2018 a las 16:20 UTC. El archivo contiene las colecciones de datos del registro de flujo con una hora de finalización entre las 16:20:00 y las 16:24:59.

123456789012_vpcflowlogs_us-east-1_fl-1234abcd_20180620T1620Z_fe123456.log.gz

Política de IAM para entidades principales de IAM que publican registros de flujo en Amazon S3

La entidad principal de IAM que crea el registro de flujo debe tener los siguientes permisos, que son necesarios para publicar registros de flujo en el bucket de Amazon S3 de destino.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery" ], "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 registro de flujo es el propietario del bucket y tiene permisos PutBucketPolicy y GetBucketPolicy para el bucket, adjuntamos de forma automática la siguiente política al bucket. Esta política sobrescribe cualquier política existente asociada al bucket.

De otra manera, el propietario del bucket debe agregar esta política al bucket, al especificar el ID de Cuenta de AWS del creador del registro de flujo o fallará la creación del registro de flujo. Para obtener más información, consulte Uso de políticas de bucket en la Guía del usuario de Amazon Simple Storage Service.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "my-s3-arn", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": account_id }, "ArnLike": { "aws:SourceArn": "arn:aws:logs:region:account_id:*" } } }, { "Sid": "AWSLogDeliveryCheck", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": ["s3:GetBucketAcl", "s3:ListBucket"], "Resource": "arn:aws:s3:::bucket_name", "Condition": { "StringEquals": { "aws:SourceAccount": account_id }, "ArnLike": { "aws:SourceArn": "arn:aws:logs:region:account_id:*" } } } ] }

El ARN que especifique para my-s3-arn depende de si utiliza prefijos de S3 compatibles con HIVE.

  • Prefijos predeterminados

    arn:aws:s3:::bucket_name/optional_folder/AWSLogs/account_id/*
  • Prefijos de S3 compatibles con HIVE

    arn:aws:s3:::bucket_name/optional_folder/AWSLogs/aws-account-id=account_id/*

Como práctica recomendada, le recomendamos que conceda estos permisos al director del servicio de entrega de registros en lugar de a los Cuenta de AWS ARN individuales. También es una práctica recomendada utilizar las claves de condición aws:SourceAccount y aws:SourceArn para protegerse del problema del suplente confuso. La cuenta fuente es la propietaria del registro de flujo y el ARN fuente es el ARN comodín (*) del servicio de registros.

Política de clave requerida para el uso con SSE-KMS

Para proteger los datos del bucket de Amazon S3, habilite el cifrado del lado del servidor con las claves administradas de Amazon S3 (SSE-S3) o con el cifrado del lado del servidor con claves de KMS (SSE-KMS). Para obtener más información, consulte Protección de datos mediante cifrado del lado del servidor en la Guía del usuario de Amazon S3.

Con SSE-KMS, puede usar una clave administrada o una clave AWS administrada por el cliente. Con una clave AWS gestionada, no puede utilizar la entrega entre cuentas. Los registros de flujo se entregan desde la cuenta de entrega de registros, por lo que debe conceder acceso para la entrega entre cuentas. Para conceder acceso de cuentas cruzadas al bucket de S3, utilice una clave administrado por el cliente y especifique el nombre de recurso de Amazon (ARN) de la clave administrada por el cliente cuando habilite el cifrado del bucket. Para obtener más información, consulte Especificación del cifrado del lado del servidor con AWS KMS en la Guía del usuario de Amazon S3.

Cuando utilice SSE-KMS con una clave administrado por el cliente, debe agregar lo siguiente a la política de clave destinada a su clave (no la política de bucket para el bucket de S3), de modo que VPC Flow Logs pueda realizar registros en el bucket de S3.

{ "Sid": "Allow Transit Gateway Flow Logs to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "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 registros tiene los permisos READ y WRITE. Para obtener más información, consulte Access Control List (ACL) Overview (Información general de la Lista de control de acceso [ACL]) en la Guía del usuario de Amazon Simple Storage Service.

Crear un registro de flujo que se publique en Amazon S3

Después de haber creado y configurado el bucket de Amazon S3, puede crear registros de flujo para las puertas de enlace de tránsito.

Para crear un registro de flujo de puerta de enlace de tránsito que publica en Amazon S3 mediante la consola
  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Transit Gateway (Puerta de enlace de tránsito) o Transit gateway attachments (Conexión de la puerta de enlace de tránsito).

  3. Seleccione las casillas de verificación de una o más puertas de enlace de tránsito o conexiones de puerta de enlace de tránsito.

  4. Seleccione Actions (Acciones) y, a continuación, Create flow log (Crear registro de flujo).

  5. Establezca la configuración del registro de flujo. Para obtener más información, consulte To configure flow log settings (Configuración del registro de flujo).

Configuración del registro de flujo mediante la consola
  1. En Destination (Destino), elija Send to an Amazon S3 bucket (Enviar a un bucket de S3).

  2. En S3 bucket ARN (ARN de bucket de S3), especifique el nombre de recurso de Amazon (ARN) de un bucket de Amazon S3 existente. Si lo desea, puede incluir una subcarpeta. Por ejemplo, para especificar una subcarpeta llamada my-logs de un bucket denominado my-bucket, utilice el siguiente ARN:

    arn:aws::s3:::my-bucket/my-logs/

    El bucket no puede utilizar AWSLogs como nombre de subcarpeta, ya que se trata de un término reservado.

    Si posee el bucket, crearemos automáticamente una política de recursos y la asociaremos al bucket. Para obtener más información, consulte Permisos del bucket de Amazon S3 para registros de flujo.

  3. Para Log record format (Formato de registro), seleccione el formato para el registro de flujo.

    • Para utilizar el formato de registro predeterminado del registro de flujo, elija AWS default format (Formato predeterminado de AWS ).

    • Para crear un formato personalizado, seleccione Formato personalizado. En Log format (Formato de log), elija los campos que desea incluir en el registro de flujo.

  4. Para Log file format (Formato de archivo de registro), especifique el formato del archivo de registro.

    • Text (Texto): Texto sin formato. Este es el formato predeterminado.

    • Parquet: Apache Parquet es un formato de datos columnar. Las consultas sobre los datos en formato Parquet son de 10 a 100 veces más rápidas en comparación con las consultas de datos en texto sin formato. Los datos en formato Parquet con compresión Gzip ocupan un 20 por ciento menos de espacio de almacenamiento que el texto sin formato con compresión Gzip.

  5. (Opcional) Para utilizar prefijos de S3 compatibles con Hive, elija Hive-compatible S3 prefix (Prefijo de S3 compatible con Hive) y, a continuación, Enable (Habilitar).

  6. (Opcional) Para particionar los registros de flujo por hora, elija Every 1 hour (60 mins) (Cada 1 hora [60 minutos]).

  7. (Opcional) Para agregar una etiqueta al registro de flujo, elija Add new tag (Añadir nueva etiqueta) y especifique la clave y el valor de etiqueta.

  8. Elija Create flow log (Crear registro de flujo).

Para crear un registro de flujo que publica en Amazon S3 mediante una herramienta de línea de comandos

Utilice uno de los siguientes comandos.

El siguiente AWS CLI ejemplo crea un registro de flujo que captura todo el tráfico de la puerta de enlace de tránsito para la VPC tgw-00112233344556677 y entrega los registros de flujo a un bucket de Amazon S3 llamado. flow-log-bucket El parámetro --log-format especifica un formato personalizado para las entradas de registros de flujo.

aws ec2 create-flow-logs --resource-type TransitGateway --resource-ids tgw-00112233344556677 --log-destination-type s3 --log-destination arn:aws:s3:::flow-log-bucket/my-custom-flow-logs/'

Procesar 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 flujo.