

# Configuración del registro estándar (v2)
<a name="standard-logging"></a>

Puede habilitar los registros de acceso (registros estándar) al crear o actualizar una distribución. El registro estándar (v2) incluye las siguientes características:
+ Enviar registros de acceso a Registros de Amazon CloudWatch, Amazon Data Firehose y Amazon Simple Storage Service (Amazon S3).
+ Seleccionar los campos de registro que desee. También puede seleccionar un [subconjunto de campos de registro de acceso en tiempo real](#standard-logging-real-time-log-selection).
+ Seleccionar formatos de [archivo de registro de salida](#supported-log-file-format) adicionales.

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](#send-logs-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.

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

1. 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)](standard-logging-legacy-s3.md).
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
<a name="permissions-standard-logging"></a>

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*.
+ [Registros de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-CloudWatchLogs)
+ [Firehose](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-Firehose)
+ [Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-S3)

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](#enable-standard-logging-cross-accounts) o el [ejemplo de entrega entre cuentas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#vended-logs-crossaccount-example) de la *Guía del usuario de Registros de Amazon CloudWatch*. 

## Activación del registro estándar
<a name="set-up-standard-logging"></a>

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

**Contents**
+ [Activación del registro estándar (consola de CloudFront)](#access-logging-console)
+ [Activación del registro estándar (API de CloudWatch)](#enable-access-logging-api)

### Activación del registro estándar (consola de CloudFront)
<a name="access-logging-console"></a>

**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](HowToUpdateDistribution.md#HowToUpdateDistributionProcedure).

1. Elija la pestaña **Logging** (Registro).

1. Elija **Agregar** y, a continuación, seleccione el servicio para recibir los registros:
   + Registros de CloudWatch
   + Firehose
   + Amazon S3

1. 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.
   + Para Registros de CloudWatch, introduzca el **[nombre del grupo de registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)**.
   + Para Firehose, introduzca el **[flujo de entrega de Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)**.
   + Para Amazon S3, introduzca el **[nombre del bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)**. 
**sugerencia**  
Para especificar un prefijo, introdúzcalo después del nombre del bucket, por ejemplo, `amzn-s3-demo-bucket.s3.amazonaws.com/MyLogPrefix`. Si no especifica ningún prefijo, CloudFront le agregará uno automáticamente. Para obtener más información, consulte [Envío de registros a Amazon S3](#send-logs-s3).

1. 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](standard-logs-reference.md#BasicDistributionFileFormat) y un subconjunto de [campos de registro de acceso en tiempo real](#standard-logging-real-time-log-selection).

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

   1. (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.

   1. 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](https://aws.amazon.com/cloudwatch/pricing/).

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

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

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

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

1. (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](standard-logs-reference.md).

### Activación del registro estándar (API de CloudWatch)
<a name="enable-access-logging-api"></a>

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](DownloadDistValuesGeneral.md#DownloadDistValuesCookieLogging).

**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](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistribution.html). El ARN de las distribuciones usa el siguiente formato: `arn:aws:cloudfront::123456789012:distribution/d111111abcdef8` 

1. A continuación, utilice la operación de la API de CloudWatch [PutDeliverySource](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html) para crear un origen de entrega para la distribución. 

   1. Introduzca un nombre para el origen de entrega.

   1. Transmita el `resourceArn` de la distribución. 

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

   1.   
**Example 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
      ```

      **Output**

      ```
      {
       "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"
       }
      }
      ```

1. Utilice la operación de la API [PutDeliveryDestination](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html) 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.

   1. En `outputFormat`, especifique el formato de salida de sus registros.

   1.   
**Example 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
      ```

      **Output**

      ```
      {
          "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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestinationPolicy.html) 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.

1. Use la operación de la API [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html) 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.

   1. En `deliveryDestinationArn`, especifique el ARN del destino de entrega.

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

   1. En `recordFields`, especifique los campos de registro que desee.

   1. Si usa S3, especifique si desea usar `enableHiveCompatiblePath` y`suffixPath`.  
**Example 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
   ```

   **Output**

   ```
   {
       "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": ""
   }
   ```

1. 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](standard-logs-reference.md).

**nota**  
Para habilitar el registro estándar (v2) para CloudFront con AWS CloudFormation, puede usar las siguientes propiedades de Registros de CloudWatch:  
[Delivery](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)
[DeliveryDestination](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)
[DeliverySource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)
`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
<a name="enable-standard-logging-cross-accounts"></a>

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
<a name="steps-destination-account"></a>

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"
   ```

   **Output**

   ```
   {
       "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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_S3DeliveryConfiguration.html).

1. 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. 

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

****  

   ```
   {
       "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"
           }
       ]
   }
   ```

------

1. Guarde el archivo como, por ejemplo, `deliverypolicy.json`.

1. 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
   ```

1. 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:*"}
       }
   }
   ```

1. 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
<a name="steps-source-account"></a>

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
   ```

   **Output**

   ```
   {
       "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"
       }
   }
   ```

1. 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](#steps-destination-account).

   ```
   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
   ```

   **Output**

   ```
   {
       "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"
       }
   }
   ```

1. 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.

   1. 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
<a name="supported-log-file-format"></a>

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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html) en la *Referencia de la API de Registros de Amazon CloudWatch*.

## Edición de configuración de registro estándar
<a name="standard-logs-v2-edit-settings"></a>

Puede activar o desactivar el registro y actualizar otra configuración de registro mediante la [consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home) 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:
+ Para actualizar una distribución mediante la consola de CloudFront, consulte [Actualizar una distribución](HowToUpdateDistribution.md).
+ Para actualizar una distribución mediante la API de CloudFront, consulte [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) en la *Referencia de la API de Amazon CloudFront*.
+ Para obtener más información sobre las operaciones de la API de Registros de CloudWatch, consulte la [Referencia de la API de Registros de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/Welcome.html).

## Campos de registro de acceso
<a name="standard-logging-real-time-log-selection"></a>

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](standard-logs-reference.md#BasicDistributionFileFormat).

Además, puede seleccionar los siguientes [campos de registro de acceso en tiempo real](real-time-logs.md#understand-real-time-log-config).

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

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

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

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

1. `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](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

1. `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
<a name="send-logs-cloudwatch-logs"></a>

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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html).

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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-CloudWatchLogs) 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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html#API_PutDeliveryDestination_RequestSyntax) 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-CloudWatchLogs) del tema Registros de CloudWatch.

### Ejemplo de registro de acceso enviado a Registros de CloudWatch
<a name="example-access-logs-cwl"></a>

```
{ 
"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
<a name="send-logs-kinesis"></a>

Para enviar registros a Firehose, cree o use un flujo de entrega de Firehose existente. A continuación, especifique una secuencia de entrega de Firehose como el destino de entrega de registro. Debe especificar una secuencia de entrega de Firehose en la región Este de EE. UU. (Norte de Virginia) us-east-1.

Para obtener más información sobre cómo crear su flujo de entrega, consulte [Creating an Amazon Data Firehose delivery stream](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html). 

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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html#API_PutDeliveryDestination_RequestSyntax) en la *Referencia de la API de Registros de Amazon CloudWatch*.

### Ejemplo de registro de acceso enviado a Firehose
<a name="example-access-logs-firehose"></a>

```
{"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
<a name="send-logs-s3"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-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](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html).

**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í.

**Topics**
+ [Especificación de un bucket de S3](#prefix-s3-buckets)
+ [Particiones](#partitioning)
+ [Formato de nombre de archivo compatible con Hive](#hive-compatible-file-name-format)
+ [Ejemplos de rutas a los registros de acceso](#bucket-path-examples)
+ [Ejemplo de registro de acceso enviado a Amazon S3](#example-access-logs-s3)

### Especificación de un bucket de S3
<a name="prefix-s3-buckets"></a>

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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html#API_PutDeliveryDestination_RequestSyntax) 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](#bucket-path-examples).

### Particiones
<a name="partitioning"></a>

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
<a name="hive-compatible-file-name-format"></a>

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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).

**Example 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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_S3DeliveryConfiguration.html) en la *Referencia de la API de Registros de Amazon CloudWatch*.

### Ejemplos de rutas a los registros de acceso
<a name="bucket-path-examples"></a>

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
<a name="bucket-with-prefix"></a>


| 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/\$1yyyy\$1 | myFolderA/\$1yyyy\$1 | Sí | amzn-s3-demo-bucket/MyLogPrefix/myFolderA/year=2025 | 

#### Bucket de Amazon S3 sin prefijo
<a name="bucket-without-prefix"></a>


| 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/\$1account-id\$1/CloudFront/ | No | amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/ | 
| amzn-s3-demo-bucket | myFolderA/ | AWSLogs/\$1account-id\$1/CloudFront/myFolderA/ | No | amzn-s3-demo-bucket/AWSLogs/<your-account-ID>/CloudFront/myFolderA/ | 
| amzn-s3-demo-bucket | myFolderA/ | AWSLogs/\$1account-id\$1/CloudFront/myFolderA/ | Sí | amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/ | 
| amzn-s3-demo-bucket | myFolderA/\$1yyyy\$1 | AWSLogs/\$1account-id\$1/CloudFront/myFolderA/\$1yyyy\$1 | Sí | amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/myFolderA/year=2025 | 

#### ID de Cuenta de AWS como partición
<a name="bucket-account-id-partition"></a>


| 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/\$1account-id\$1/CloudFront/ | Sí | amzn-s3-demo-bucket/AWSLogs/aws-account-id=<your-account-ID>/CloudFront/ | 
| amzn-s3-demo-bucket | myFolderA/\$1accountid\$1 | AWSLogs/\$1account-id\$1/CloudFront/myFolderA/\$1accountid\$1 | Sí | 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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_S3DeliveryConfiguration.html).

### Ejemplo de registro de acceso enviado a Amazon S3
<a name="example-access-logs-s3"></a>

```
#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
<a name="delete-standard-log-destination"></a>

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.

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

1. Elija **Registro** y, a continuación, en **Destinos de registro estándar**, seleccione el destino.

1. Elija **Administrar** y, a continuación, **Eliminar**.

1. 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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteDeliverySource.html) en la *Referencia de la API de Registros de Amazon CloudWatch*.

## Solución de problemas
<a name="troubleshooting-access-logs-v2"></a>

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
<a name="access-logging-resource-already-used"></a>

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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteDeliverySource.html) 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
<a name="access-logging-s3-permission"></a>

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](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_UpdateDeliveryConfiguration.html) para especificar una ruta de sufijo diferente, debe actualizar la política del bucket de Amazon S3 para usar la misma ruta.

**Example Ejemplo: Actualización de la ruta del sufijo**  

1. La ruta del sufijo predeterminada es `AWSLogs/{account-id}/CloudFront` y la reemplaza por `myFolderA`. 

1. 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.

1. 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](#permissions-standard-logging).

## Eliminación de archivos de registro
<a name="standard-logs-v2-delete"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjects.html) en la *Guía del usuario de la consola de Amazon Simple Storage Service*

**Registros de CloudWatch**
+ [Working with log groups and log streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) en la *Guía del usuario de Registros de Amazon CloudWatch*
+ [DeleteLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DeleteLogGroup.html) en la *Referencia de la API de Registros de Amazon CloudWatch*

**Firehose**
+ [DeleteDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_DeleteDeliveryStream.html) en la *Referencia de la API de Amazon Data Firehose*

## Precios
<a name="pricing-standard-logs"></a>

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](https://aws.amazon.com/cloudwatch/pricing/). 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:
+ [Precios de Registros de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/)
+ [Precios de Amazon Data Firehose](https://aws.amazon.com/kinesis/data-firehose/pricing/)
+ [Precios de Amazon S](https://aws.amazon.com/s3/pricing/) 
**nota**  
No hay cargos adicionales por la entrega de registros a Amazon S3, aunque puede incurrir en cargos de Amazon S3 por almacenar y acceder a los archivos de registro. Si activa la opción **Parquet** para convertir sus registros de acceso a Apache Parquet, esta opción incurrirá en gastos de CloudWatch. Para obtener más información, consulte la [sección Registros distribuidos de Precios de CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).