Configuración del registro estándar (v2) - Amazon CloudFront

Configuración del registro estándar (v2)

Puede activar el registro estándar al crear o actualizar una distribución. El registro estándar (v2) incluye las siguientes características:

Si utiliza Amazon S3, dispone de las siguientes características opcionales:

  • Enviar registros en Regiones de AWS de inscripción

  • Organizar sus registros con particiones

  • Activar los nombres de archivo compatibles con Hive

Para obtener más información, consulte Envío de registros a Amazon S3.

Para comenzar a utilizar el registro estándar, complete los siguientes pasos:

  1. Configure los permisos necesarios para el Servicio de AWS especificado que recibirá sus registros.

  2. Configure el registro estándar desde la consola de CloudFront o la API de CloudWatch.

  3. Consulte sus registros de acceso.

nota
  • Si activa el registro estándar (v2), esto no afectará ni cambiará el registro estándar (heredado). Puede seguir utilizando el registro estándar (heredado) para su distribución, además del registro estándar (v2). Para obtener más información, consulte Configuración del registro estándar (heredado).

  • Si ya ha activado el registro estándar (heredado) y quiere activar el registro estándar (v2) en Amazon S3, le recomendamos que especifique un bucket de Amazon S3 diferente o utilice una ruta distinta en el mismo bucket (por ejemplo, utilice un prefijo de registro o una partición). Esto le ayuda a realizar un seguimiento de los archivos de registro que están asociados a cada distribución y evita que los archivos de registro se sobrescriban entre sí.

Permisos

CloudFront utiliza los registros distribuidos de CloudWatch para entregar los registros de acceso. Para ello, necesita los permisos al Servicio de AWS especificado para poder activar la entrega de registros.

Para ver los permisos necesarios para cada destino de registro, elija uno de los siguientes temas en la Guía del usuario de Registros de Amazon CloudWatch.

Una vez que haya configurado los permisos para su destino de registro, puede activar el registro estándar para su distribución.

nota

CloudFront admite el envío de registros de acceso a diferentes Cuentas de AWS (entre cuentas). Para activar la entrega entre cuentas, ambas cuentas (la suya y la cuenta receptora) deben tener los permisos necesarios. Para obtener más información, consulte la sección Activación del registro estándar para la entrega entre cuentas o el ejemplo de entrega entre cuentas de la Guía del usuario de Registros de Amazon CloudWatch.

Activación del registro estándar

Para activar el registro estándar, puede utilizar la consola de CloudFront o la API de CloudWatch.

Activación del registro estándar (consola de CloudFront)

Para activar el registro estándar en una distribución de CloudFront (consola)
  1. Utilice la consola de CloudFront para actualizar una distribución existente.

  2. Elija la pestaña Logging (Registro).

  3. Elija Agregar y, a continuación, seleccione el servicio para recibir los registros:

    • Registros de CloudWatch

    • Firehose

    • Amazon S3

  4. En Destino, seleccione el recurso para su servicio. Si aún no ha creado el recurso, puede elegir Crear o consultar la siguiente documentación.

  5. En configuración adicional: opcional, puede especificar las siguientes opciones:

    1. En Selección de campos, seleccione los nombres de los campos de registro que desea entregar en su destino. Puede seleccionar campos de registro de acceso y un subconjunto de campos de registro en tiempo real.

    2. (Solo Amazon S3) En Partición, especifique la ruta para particionar los datos del archivo de registro.

    3. (Solo Amazon S3) En Formato de archivo compatible con Hive, puede seleccionar la casilla de verificación para utilizar rutas de S3 compatibles con Hive. Esto ayuda a simplificar la carga de nuevos datos en las herramientas compatibles con Hive.

    4. En Formato de salida, especifique el formato que prefiera.

      nota

      Si elige Parquet, esta opción conlleva cargos de CloudWatch por convertir sus registros de acceso a Apache Parquet. Para obtener más información, consulte la sección Registros distribuidos de Precios de CloudWatch.

    5. En Delimitador de campo, especifique cómo separar los campos de registro.

  6. Complete los pasos para actualizar o crear su distribución.

  7. Para agregar otro destino, repita los pasos 3-6.

  8. En la página Registros, compruebe que el estado de los registros estándar sea Activado junto a la distribución.

  9. (Opcional) Para habilitar el registro de cookies, elija Administrar, Configuración y active Registro de cookies; a continuación, elija Guardar cambios.

    sugerencia

    Registro de cookies es una configuración global que se aplica a todos los registros estándar de su distribución. No puede anular esta configuración para distintos destinos de entrega.

Para obtener más información sobre la entrega de registros estándar y los campos de registro, consulte Referencia de registro estándar.

Activación del registro estándar (API de CloudWatch)

También puede utilizar la API de CloudWatch para habilitar el registro estándar en sus distribuciones.

Notas
  • Al llamar a la API de CloudWatch para activar el registro estándar, debe especificar la región Este de EE. UU. (Norte de Virginia) (us-east-1), aunque desee activar la entrega entre regiones a otro destino. Por ejemplo, si quiere enviar sus registros de acceso a un bucket de S3 en la región de Europa (Irlanda) (eu-west-1), utilice la API de CloudWatch en la región us-east-1.

  • Existe una opción adicional para incluir cookies en el registro estándar. En la API de CloudFront, este es el parámetro IncludeCookies. Si configura el registro de acceso mediante la API de CloudWatch y especifica que desea incluir cookies, debe usar la consola de CloudFront o la API de CloudFront para actualizar la distribución de forma que incluya cookies. De lo contrario, CloudFront no podrá enviar cookies a su destino de registro. Para obtener más información, consulte Registro de cookies.

Para activar el registro estándar en una distribución (API de CloudWatch)
  1. Después de crear una distribución, obtenga el nombre de recurso de Amazon (ARN).

    Puede encontrar el ARN en la página de Distribución de la consola de CloudFront o puede utilizar la operación de la API GetDistribution. El ARN de las distribuciones usa el siguiente formato: arn:aws:cloudfront::123456789012:distribution/d111111abcdef8

  2. A continuación, utilice la operación de la API de CloudWatch PutDeliverySource para crear un origen de entrega para la distribución.

    1. Introduzca un nombre para el origen de entrega.

    2. Transmita el resourceArn de la distribución.

    3. En logType, especifique ACCESS_LOGS como el tipo de registros que se recopilan.

    4. ejemplo Ejemplo de comando put-delivery-source de la AWS CLI

      A continuación, se muestra un ejemplo de cómo configurar un origen de entrega en una distribución.

      aws logs put-delivery-source --name S3-delivery --resource-arn arn:aws:cloudfront::123456789012:distribution/d111111abcdef8 --log-type ACCESS_LOGS

      Salida

      { "deliverySource": { "name": "S3-delivery", "arn": "arn:aws:logs:us-east-1:123456789012:delivery-source:S3-delivery", "resourceArns": [ "arn:aws:cloudfront::123456789012:distribution/d111111abcdef8" ], "service": "cloudfront", "logType": "ACCESS_LOGS" } }
  3. Utilice la operación de la API PutDeliveryDestination para configurar dónde almacenar los registros.

    1. En destinationResourceArn, especifique el ARN del destino. Puede ser un grupo de registros de CloudWatch, una secuencia de entrega de Firehose o un bucket de Amazon S3.

    2. En outputFormat, especifique el formato de salida de sus registros.

    3. ejemplo Ejemplo de comando put-delivery-destination de la AWS CLI

      A continuación, se muestra un ejemplo de cómo configurar un destino de entrega en un bucket de Amazon S3.

      aws logs put-delivery-destination --name S3-destination --delivery-destination-configuration destinationResourceArn=arn:aws:s3:::amzn-s3-demo-bucket

      Salida

      { "name": "S3-destination", "arn": "arn:aws:logs:us-east-1:123456789012:delivery-destination:S3-destination", "deliveryDestinationType": "S3", "deliveryDestinationConfiguration": { "destinationResourceArn": "arn:aws:s3:::amzn-s3-demo-bucket" } }
    nota

    Si entrega registros entre cuentas, debe usar la operación de la API PutDeliveryDestinationPolicy para asignar una política de AWS Identity and Access Management (IAM) a la cuenta de destino. La política de IAM permite la entrega de una cuenta a otra.

  4. Use la operación de la API CreateDelivery para vincular el origen de entrega con el destino creado en los pasos anteriores. Esta operación de la API asocia el origen de la entrega con el destino final.

    1. En deliverySourceName, especifique un nombre del origen.

    2. En deliveryDestinationArn, especifique el ARN del destino de entrega.

    3. En fieldDelimiter, especifique la cadena para separar cada campo de registro.

    4. En recordFields, especifique los campos de registro que desee.

    5. Si usa S3, especifique si desea usar enableHiveCompatiblePath ysuffixPath.

    ejemplo Ejemplo de comando create-delivery de la AWS CLI

    A continuación, se muestra un ejemplo de creación de una entrega.

    aws logs create-delivery --delivery-source-name cf-delivery --delivery-destination-arn arn:aws:logs:us-east-1:123456789012:delivery-destination:S3-destination

    Salida

    { "id": "abcNegnBoTR123", "arn": "arn:aws:logs:us-east-1:123456789012:delivery:abcNegnBoTR123", "deliverySourceName": "cf-delivery", "deliveryDestinationArn": "arn:aws:logs:us-east-1:123456789012:delivery-destination:S3-destination", "deliveryDestinationType": "S3", "recordFields": [ "date", "time", "x-edge-location", "sc-bytes", "c-ip", "cs-method", "cs(Host)", "cs-uri-stem", "sc-status", "cs(Referer)", "cs(User-Agent)", "cs-uri-query", "cs(Cookie)", "x-edge-result-type", "x-edge-request-id", "x-host-header", "cs-protocol", "cs-bytes", "time-taken", "x-forwarded-for", "ssl-protocol", "ssl-cipher", "x-edge-response-result-type", "cs-protocol-version", "fle-status", "fle-encrypted-fields", "c-port", "time-to-first-byte", "x-edge-detailed-result-type", "sc-content-type", "sc-content-len", "sc-range-start", "sc-range-end", "c-country", "cache-behavior-path-pattern" ], "fieldDelimiter": "" }
  5. Desde la consola de CloudFront, en la página Registros, compruebe que el estado de los registros estándar sea Activado junto a la distribución.

    Para obtener más información sobre la entrega de registros estándar y los campos de registro, consulte Referencia de registro estándar.

nota

Para habilitar el registro estándar (v2) para CloudFront con AWS CloudFormation, puede usar las siguientes propiedades de Registros de CloudWatch:

ResourceArn es la distribución de CloudFront y LogType debe ser ACCESS_LOGS como el tipo de registro admitido.

Activación del registro estándar para la entrega entre cuentas

Si activa el registro estándar en la Cuenta de AWS y desea enviar los registros de acceso a otra cuenta, asegúrese de configurar correctamente la cuenta de origen y la cuenta de destino. La cuenta de origen con la distribución de CloudFront envía sus registros de acceso a la cuenta de destino.

En este procedimiento de ejemplo, la cuenta de origen (111111111111) envía sus registros de acceso a un bucket de Amazon S3 de la cuenta de destino (222222222222). Para enviar registros de acceso a un bucket de Amazon S3 en la cuenta de destino, utilice la AWS CLI.

Configuración de la cuenta de destino

Para la cuenta de destino, realice el procedimiento siguiente.

Para configurar la cuenta de destino
  1. Para crear el destino de entrega del registro, puede introducir el comando siguiente de la AWS CLI. En este ejemplo, se utiliza la cadena MyLogPrefix para crear un prefijo para los registros de acceso.

    aws logs put-delivery-destination --name cloudfront-delivery-destination --delivery-destination-configuration "destinationResourceArn=arn:aws:s3:::amzn-s3-demo-bucket-cloudfront-logs/MyLogPrefix"

    Salida

    { "deliveryDestination": { "name": "cloudfront-delivery-destination", "arn": "arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination", "deliveryDestinationType": "S3", "deliveryDestinationConfiguration": {"destinationResourceArn": "arn:aws:s3:::amzn-s3-demo-bucket-cloudfront-logs/MyLogPrefix"} } }
    nota

    Si especifica un bucket de S3 sin prefijo, CloudFront anexará automáticamente el AWSLogs/<account-ID>/CloudFront como prefijo que aparece en la suffixPath del destino de entrega de S3. Para obtener más información, consulte S3DeliveryConfiguration.

  2. Agregue la política de recursos del destino de entrega del registro para permitir que la cuenta de origen cree una entrega del registro.

    En la siguiente política, sustituya 111111111111 por el ID de cuenta de origen y especifique el ARN de destino de la entrega a partir de la salida del paso 1.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateDelivery", "Effect": "Allow", "Principal": {"AWS": "111111111111"}, "Action": ["logs:CreateDelivery"], "Resource": "arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination" } ] }
  3. Guarde el archivo como, por ejemplo, deliverypolicy.json.

  4. Para asociar la política anterior al destino de la entrega, introduzca el siguiente comando de la AWS CLI.

    aws logs put-delivery-destination-policy --delivery-destination-name cloudfront-delivery-destination --delivery-destination-policy file://deliverypolicy.json
  5. Agregue la siguiente instrucción a la política de bucket de Amazon S3 de destino y sustituya el ARN del recurso y el ID de la cuenta de origen. Esta política permite que la entidad principal de servicio de delivery.logs.amazonaws.com realice la acción s3:PutObject.

    { "Sid": "AWSLogsDeliveryWrite", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-cloudfront-logs/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": "111111111111" }, "ArnLike": {"aws:SourceArn": "arn:aws:logs:us-east-1:111111111111:delivery-source:*"} } }
  6. Si utiliza AWS KMS para su bucket, agregue la siguiente instrucción a la política de claves de KMS para conceder permisos a la entidad principal del servicio de delivery.logs.amazonaws.com.

    { "Sid": "Allow Logs Delivery to use the key", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": {"aws:SourceAccount": "111111111111"}, "ArnLike": {"aws:SourceArn": "arn:aws:logs:us-east-1:111111111111:delivery-source:*"} } }

Configuración de la cuenta de origen

Tras configurar la cuenta de destino, siga este procedimiento para crear el origen de la entrega y activar el registro de la distribución en la cuenta de origen.

Para configurar la cuenta de origen
  1. Cree un origen de entrega para el registro estándar de CloudFront de modo que pueda enviar archivos de registro a Registros de CloudWatch.

    Puede introducir el siguiente comando de la AWS CLI sustituyendo el nombre y el ARN de la distribución.

    aws logs put-delivery-source --name s3-cf-delivery --resource-arn arn:aws:cloudfront::111111111111:distribution/E1TR1RHV123ABC --log-type ACCESS_LOGS

    Salida

    { "deliverySource": { "name": "s3-cf-delivery", "arn": "arn:aws:logs:us-east-1:111111111111:delivery-source:s3-cf-delivery", "resourceArns": ["arn:aws:cloudfront::111111111111:distribution/E1TR1RHV123ABC"], "service": "cloudfront", "logType": "ACCESS_LOGS" } }
  2. Cree una entrega para mapear el origen de entrega del registro de la cuenta de origen y el destino de entrega del registro de la cuenta de destino.

    En el siguiente comando de la AWS CLI, especifique el ARN de destino de la entrega a partir de la salida del Paso 1: Configuración de la cuenta de destino.

    aws logs create-delivery --delivery-source-name s3-cf-delivery --delivery-destination-arn arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination

    Salida

    { "delivery": { "id": "OPmOpLahVzhx1234", "arn": "arn:aws:logs:us-east-1:111111111111:delivery:OPmOpLahVzhx1234", "deliverySourceName": "s3-cf-delivery", "deliveryDestinationArn": "arn:aws:logs:us-east-1:222222222222:delivery-destination:cloudfront-delivery-destination", "deliveryDestinationType": "S3", "recordFields": [ "date", "time", "x-edge-location", "sc-bytes", "c-ip", "cs-method", "cs(Host)", "cs-uri-stem", "sc-status", "cs(Referer)", "cs(User-Agent)", "cs-uri-query", "cs(Cookie)", "x-edge-result-type", "x-edge-request-id", "x-host-header", "cs-protocol", "cs-bytes", "time-taken", "x-forwarded-for", "ssl-protocol", "ssl-cipher", "x-edge-response-result-type", "cs-protocol-version", "fle-status", "fle-encrypted-fields", "c-port", "time-to-first-byte", "x-edge-detailed-result-type", "sc-content-type", "sc-content-len", "sc-range-start", "sc-range-end", "c-country", "cache-behavior-path-pattern" ], "fieldDelimiter": "\t" } }
  3. Compruebe que la entrega entre cuentas se ha realizado correctamente.

    1. Desde la cuenta de origen, inicie sesión en la consola de CloudFront y elija su distribución. En la pestaña Registro, en Tipo, verá una entrada creada para la entrega de registros entre cuentas de S3.

    2. Desde la cuenta de destino, inicie sesión en la consola de Amazon S3 y elija su bucket de Amazon S3. Verá el prefijo MyLogPrefix en el nombre del bucket y todos los registros de acceso que se entreguen en esa carpeta.

Formato de archivo de salida

Según el destino de entrega que elija, puede especificar uno de los siguientes formatos para los archivos de registro:

  • JSON

  • Sin formato

  • w3c

  • Raw

  • Parquet (solo Amazon S3)

nota

Solo puede establecer el formato de salida cuando crea por primera vez el destino de entrega. Esto no se puede actualizar más tarde. Para cambiar el formato de salida, elimine la entrega y cree otra.

Para obtener más información, consulte PutDeliveryDestination en la Referencia de la API de Registros de Amazon CloudWatch.

Edición de configuración de registro estándar

Puede activar o desactivar el registro y actualizar otra configuración de registro mediante la consola de CloudFront o la API de CloudWatch. Los cambios de configuración de registro surten efecto en un plazo de 12 horas.

Para obtener más información, consulte los temas siguientes:

Campos de registro de acceso

Puede seleccionar los mismos campos de registro que admite el registro estándar (heredado). Para obtener más información, consulte Campos de archivos de registro.

Además, puede seleccionar los siguientes campos de registro en tiempo real.

  1. timestamp(ms): marca de tiempo en milisegundos.

  2. origin-fbl: cantidad de segundos de latencia del primer byte entre CloudFront y el origen.

  3. origin-lbl: cantidad de segundos de latencia del último byte entre CloudFront y el origen.

  4. asn: número de sistema autónomo (ASN) del espectador.

  5. c-country: código de país que representa la ubicación geográfica del espectador, según lo determinado por la dirección IP del espectador. Para obtener una lista de códigos de países, consulte ISO 3166-1 alpha-2.

  6. cache-behavior-path-pattern: patrón de ruta que identifica el comportamiento de caché que coincidió con la solicitud del espectador.

Envíe los registros a CloudWatch Logs

Para enviar registros a Registros de CloudWatch, debe crear un grupo de registro de Registros de CloudWatch o usar uno existente. Para obtener más información sobre cómo configurar un grupo de registro de Registros de CloudWatch, consulte Working with Log Groups and Log Streams.

Después de crear el grupo de registro, debe contar con los permisos necesarios para permitir el registro estándar. Para obtener más información sobre los permisos necesarios, consulte Logs sent to CloudWatch Logs en la Guía del usuario de Registros de Amazon CloudWatch.

Notas
  • Cuando especifique el nombre del grupo de registro de Registros de CloudWatch, utilice únicamente el patrón de expresiones regulares [\w-]. Para obtener más información, consulte la operación de la API PutDeliveryDestination en la Referencia de la API de Registros de Amazon CloudWatch.

  • Compruebe que la política de recursos del grupo de registro no supere el límite de tamaño. Consulte la sección Log group resource policy size limit considerations del tema Registros de CloudWatch.

Ejemplo de registro de acceso enviado a Registros de CloudWatch

{ "date": "2024-11-14", "time": "21:34:06", "x-edge-location": "SOF50-P2", "asn": "16509", "timestamp(ms)": "1731620046814", "origin-fbl": "0.251", "origin-lbl": "0.251", "x-host-header": "d111111abcdef8.cloudfront.net", "cs(Cookie)": "examplecookie=value" }

Envío de registros a Firehose

Para enviar registros a Firehose, cree o use un flujo de entrega de Firehose existente.

Para obtener más información sobre cómo crear su flujo de entrega, consulte Creating an Amazon Data Firehose delivery stream.

Después de crear el flujo de entrega, debe contar con los permisos necesarios para permitir el registro estándar. Para obtener más información, consulte Logs sent to Firehose en la Guía del usuario de Registros de Amazon CloudWatch.

nota

Cuando especifique el nombre del flujo de Firehose, use únicamente el patrón de expresiones regulares [\w-]. Para obtener más información, consulte la operación de la API PutDeliveryDestination en la Referencia de la API de Registros de Amazon CloudWatch.

Ejemplo de registro de acceso enviado a Firehose

{"date":"2024-11-15","time":"19:45:51","x-edge-location":"SOF50-P2","asn":"16509","timestamp(ms)":"1731699951183","origin-fbl":"0.254","origin-lbl":"0.254","x-host-header":"d111111abcdef8.cloudfront.net","cs(Cookie)":"examplecookie=value"} {"date":"2024-11-15","time":"19:45:52","x-edge-location":"SOF50-P2","asn":"16509","timestamp(ms)":"1731699952950","origin-fbl":"0.125","origin-lbl":"0.125","x-host-header":"d111111abcdef8.cloudfront.net","cs(Cookie)":"examplecookie=value"}

Envío de registros a Amazon S3

Para enviar sus registros de acceso a Amazon S3, cree o utilice un bucket de S3 existente. Cuando active el registro en CloudFront, especifique el nombre del bucket. Para obtener más información sobre la creación de un bucket, consulte Create a bucket en la Guía del usuario de Amazon Simple Storage Service.

Después de crear el bucket, debe contar con los permisos necesarios para permitir el registro estándar. Para obtener más información, consulte Registros enviados a Amazon S3 en la Guía del usuario de Registros de Amazon CloudWatch.

  • Una vez que active el registro, AWS agregará automáticamente las políticas de bucket necesarias.

  • También puede usar buckets de S3 en las Regiones de AWS de inscripción.

nota

Si ya ha activado el registro estándar (heredado) y quiere activar el registro estándar (v2) en Amazon S3, le recomendamos que especifique un bucket de Amazon S3 diferente o utilice una ruta distinta en el mismo bucket (por ejemplo, utilice un prefijo de registro o una partición). Esto le ayuda a realizar un seguimiento de los archivos de registro que están asociados a cada distribución y evita que los archivos de registro se sobrescriban entre sí.

Especificación de un bucket de S3

Cuando especifique un bucket de S3 como destino de entrega, tenga en cuenta lo siguiente.

El nombre del bucket de S3 solo puede usar el patrón de expresiones regulares [\w-]. Para obtener más información, consulte la operación de la API PutDeliveryDestination en la Referencia de la API de Registros de Amazon CloudWatch.

Si especificó un prefijo para su bucket de S3, sus registros aparecen en esa ruta. Si no especifica ningún prefijo, CloudFront anexará automáticamente el prefijo AWSLogs/{account-id}/CloudFront.

Para obtener más información, consulte Ejemplos de rutas a los registros de acceso.

Particiones

Puede utilizar la partición para organizar los registros de acceso cuando CloudFront los envía a su bucket de S3. Esto le ayuda a organizar y localizar sus registros de acceso en función de la ruta que desee.

Puede utilizar las siguientes variables para crear una ruta de carpeta.

  • {DistributionId} o {distributionid}

  • {yyyy}

  • {MM}

  • {dd}

  • {HH}

  • {accountid}

Puede utilizar cualquier número de variables y especificar los nombres de las carpetas en la ruta. A continuación, CloudFront utiliza esta ruta para crear una estructura de carpetas en el bucket de S3.

Ejemplos
  • my_distribution_log_data/{DistributionId}/logs

  • /cloudfront/{DistributionId}/my_distribution_log_data/{yyyy}/{MM}/{dd}/{HH}/logs

nota

Puede usar cualquiera de las variables como ID de distribución en la ruta del sufijo. Sin embargo, si va a enviar los registros de acceso a AWS Glue, debe usar la variable {distributionid}, ya que AWS Glue espera que los nombres de las particiones estén en minúsculas. Actualice la configuración de registro existente en CloudFront para reemplazar {DistributionId} por {distributionid}.

Formato de nombre de archivo compatible con Hive

Puede utilizar esta opción para que los objetos de S3 que contienen los registros de acceso entregados utilicen una estructura de prefijos que permita la integración con Apache Hive. Para obtener más información, consulte la operación de la API CreateDelivery.

ejemplo Ejemplo
/cloudfront/DistributionId={DistributionId}/my_distribution_log_data/year={yyyy}/month={MM}/day={dd}/hour={HH}/logs

Para obtener más información sobre las particiones y las opciones compatibles con Hive, consulte el elemento S3DeliveryConfiguration en la Referencia de la API de Registros de Amazon CloudWatch.

Ejemplos de rutas a los registros de acceso

Al especificar un bucket de S3 como destino, puede usar las siguientes opciones para crear la ruta a sus registros de acceso:

  • Un bucket de Amazon S3, con o sin prefijo

  • Partición, mediante una variable proporcionada por CloudFront o introduciendo la suya propia

  • Activación de la opción Compatible con Hive

En las siguientes tablas, se muestra cómo aparecen los registros de acceso en el bucket, según las opciones que elija.

Bucket de Amazon S3 con prefijo

Nombre de bucket de Amazon S3 Partición que especifique en la ruta del sufijo Ruta del sufijo actualizada ¿Se ha activado Compatible con Hive? Los registros de acceso se envían a
amzn-s3-demo-bucket/MyLogPrefix Ninguno Ninguno No amzn-s3-demo-bucket/MyLogPrefix/
amzn-s3-demo-bucket/MyLogPrefix myFolderA/ myFolderA/ No amzn-s3-demo-bucket/MyLogPrefix/myFolderA/
amzn-s3-demo-bucket/MyLogPrefix myFolderA/{yyyy} myFolderA/{yyyy} amzn-s3-demo-bucket/MyLogPrefix/myFolderA/year=2025

Bucket de Amazon S3 sin prefijo

Nombre de bucket de Amazon S3 Partición que especifique en la ruta del sufijo Ruta del sufijo actualizada ¿Se ha activado Compatible con Hive? Los registros de acceso se envían a
amzn-s3-demo-bucket Ninguno AWSLogs/{account-id}/CloudFront/ No amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/
amzn-s3-demo-bucket myFolderA/ AWSLogs/{account-id}/CloudFront/myFolderA/ No amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/myFolderA/
amzn-s3-demo-bucket myFolderA/ AWSLogs/{account-id}/CloudFront/myFolderA/ amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/
amzn-s3-demo-bucket myFolderA/{yyyy} AWSLogs/{account-id}/CloudFront/myFolderA/{yyyy} amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/year=2025

ID de Cuenta de AWS como partición

Nombre de bucket de Amazon S3 Partición que especifique en la ruta del sufijo Ruta del sufijo actualizada ¿Se ha activado Compatible con Hive? Los registros de acceso se envían a
amzn-s3-demo-bucket Ninguno AWSLogs/{account-id}/CloudFront/ amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/
amzn-s3-demo-bucket myFolderA/{accountid} AWSLogs/{account-id}/CloudFront/myFolderA/{accountid} amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/accountid=<your-account-ID>
Notas
  • La variable {account-id} está reservada para CloudFront. CloudFront agrega automáticamente esta variable a la ruta del sufijo si especifica un bucket de Amazon S3 sin prefijo. Si sus registros son compatibles con Hive, esta variable aparece como aws-account-id.

  • Puede usar la variable {accountid} para que CloudFront agregue su ID de cuenta a la ruta del sufijo. Si sus registros son compatibles con Hive, esta variable aparece como accountid.

  • Para obtener más información sobre la ruta del sufijo, consulte S3DeliveryConfiguration.

Ejemplo de registro de acceso enviado a Amazon S3

#Fields: date time x-edge-location asn timestamp(ms) x-host-header cs(Cookie) 2024-11-14 22:30:25 SOF50-P2 16509 1731623425421 d111111abcdef8.cloudfront.net examplecookie=value2

Desactivación del registro estándar

Puede desactivar el registro estándar de su distribución si ya no lo necesita.

Para desactivar el registro estándar
  1. Inicie sesión en la consola de CloudFront.

  2. Elija Distribución y, a continuación, su ID de distribución.

  3. Seleccione Registro y, a continuación, en Destinos de registro estándar, el destino.

  4. Elija Administrar y, a continuación, Eliminar.

  5. Repita el paso anterior si tiene más de un registro estándar.

nota

Al eliminar el registro estándar de la consola de CloudFront, esta acción solo elimina la entrega y el destino de entrega. No elimina el origen de entrega de su Cuenta de AWS. Para eliminar un origen de entrega, especifique el nombre de origen de entrega en el comando aws logs delete-delivery-source --name DeliverySourceName. Para obtener más información, consulte DeleteDeliverySource en la Referencia de la API de Registros de Amazon CloudWatch.

Solución de problemas

Utilice la siguiente información para solucionar problemas comunes cuando trabaje con el registro estándar de CloudFront (v2).

El origen de entrega ya existe

Al activar el registro estándar en una distribución, se crea un origen de entrega. A continuación, utiliza ese origen de entrega para crear las entregas al tipo de destino que desee: Registros de CloudWatch, Firehose o Amazon S3. En la actualidad, solo puede haber un origen de entrega por distribución. Si intenta crear otro origen de entrega para la misma distribución, aparecerá el siguiente mensaje de error.

This ResourceId has already been used in another Delivery Source in this account

Para crear otro origen de entrega, elimine primero el existente. Para obtener más información, consulte DeleteDeliverySource en la Referencia de la API de Registros de Amazon CloudWatch.

He cambiado la ruta del sufijo y el bucket de Amazon S3 no puede recibir mis registros

Si habilitó el registro estándar (v2) y especificó un ARN de bucket sin prefijo, CloudFront agregará el siguiente valor predeterminado a la ruta del sufijo: AWSLogs/{account-id}/CloudFront. Si utiliza la consola de CloudFront o la operación de la API UpdateDeliveryConfiguration para especificar una ruta de sufijo diferente, debe actualizar la política del bucket de Amazon S3 para usar la misma ruta.

ejemplo Ejemplo: Actualización de la ruta del sufijo
  1. La ruta del sufijo predeterminada es AWSLogs/{account-id}/CloudFront y la reemplaza por myFolderA.

  2. Como la nueva ruta del sufijo es diferente a la ruta especificada en la política del bucket de Amazon S3, no se entregarán los registros de acceso.

  3. Puede realizar uno de los siguientes pasos:

    • Actualice el permiso del bucket de Amazon S3 de amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/* a amzn-s3-demo-bucket/myFolderA/*.

    • Actualice su configuración de registro para volver a utilizar el sufijo predeterminado: AWSLogs/{account-id}/CloudFront

Para obtener más información, consulte Permisos.

Eliminación de archivos de registro

CloudFront no elimina automáticamente los archivos de registro de su destino. Para obtener información sobre la eliminación de archivos de registro, consulte los siguientes temas:

Amazon S3
  • Deleting objects en la Guía del usuario de la consola de Amazon Simple Storage Service

Registros de CloudWatch
Firehose

Precios

CloudFront no cobra por activar los registros estándar. Sin embargo, puede incurrir en cargos por la entrega, la ingesta, el almacenamiento o el acceso, según el destino de entrega de los registros que seleccione. Para obtener más información, consulte Precios de Registros de Amazon CloudWatch. En Nivel de pago, seleccione la pestaña Registros y, a continuación, en Registros distribuidos, consulte la información de cada destino de entrega.

Para obtener más información sobre los precios de cada Servicio de AWS, consulte los siguientes temas: