

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.

# Supervisión de las transferencias de datos con Amazon CloudWatch Logs
<a name="configure-logging"></a>

Puede supervisar su AWS DataSync transferencia mediante CloudWatch los registros. Recomendamos configurar la tarea para que registre, como mínimo, información básica (como errores de transferencia).

## DataSync Permitir cargar registros a un grupo de CloudWatch registros
<a name="cloudwatchlogs"></a>

Para [configurar el registro](#configure-logging-for-task) de su DataSync tarea, necesita un grupo de CloudWatch registros que DataSync tenga permiso para enviar registros. Este acceso se configura mediante un rol AWS Identity and Access Management (IAM). El funcionamiento específico depende del [modo de la tarea](choosing-task-mode.md).

------
#### [ Enhanced mode ]

Con el modo mejorado, envía DataSync automáticamente los registros de tareas a un grupo de registros denominado`/aws/datasync`. Si ese grupo de registros no existe en la suya Región de AWS, DataSync crea el grupo de registros en su nombre mediante un [rol vinculado al servicio](https://docs.aws.amazon.com/datasync/latest/userguide/using-service-linked-roles-service-action-2.html) de IAM al crear la tarea. 

------
#### [ Basic mode ]

Existen dos formas de configurar un grupo de CloudWatch registros para una DataSync tarea mediante el modo Básico. En la consola, puede crear automáticamente un rol de IAM que, en la mayoría de los casos, incluya los permisos DataSync necesarios para cargar registros. Tenga en cuenta que es posible que este rol generado automáticamente no satisfaga sus necesidades desde el punto de vista de los privilegios mínimos.

Si desea utilizar un grupo de CloudWatch registros existente o va a crear sus tareas mediante programación, debe crear el rol de IAM usted mismo. 

El siguiente ejemplo muestra una política de IAM que concede estos permisos.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DataSyncLogsToCloudWatchLogs",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents",
                "logs:CreateLogStream"
            ],
            "Principal": {
                "Service": "datasync.amazonaws.com"
            },
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": [
                    "arn:aws:datasync:us-east-1:444455556666:task/*"
                    ]
                },
                "StringEquals": {
                "aws:SourceAccount": "444455556666"
                }
            },
            "Resource": "arn:aws:logs:us-east-1:444455556666:log-group:*:*"
        }
    ]
}
```

La política utiliza `Condition` declaraciones para garantizar que solo DataSync las tareas de la cuenta especificada tengan acceso al grupo de registros especificado CloudWatch . Recomendamos usar las claves de contexto de condición global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) y [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) en estas declaraciones `Condition` para protegerse frente al problema de suplantación de privilegios. Para obtener más información, consulte [Prevención de la sustitución confusa entre servicios](cross-service-confused-deputy-prevention.md).

Para especificar la DataSync tarea o las tareas, *`region`* sustitúyalo por el Región de AWS código de región de la ubicación de las tareas (por ejemplo,`us-west-2`) y *`account-id`* sustitúyelo por el Cuenta de AWS identificador de la cuenta que contiene las tareas. Para especificar el grupo de CloudWatch registros, sustituya los mismos valores. También puede modificar la declaración de `Resource` para que se dirija a grupos de registro específicos. Para obtener más información sobre el uso de `SourceArn` y `SourceAccount`, consulte [Claves de condición global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) en la *Guía del usuario de IAM*.

Para aplicar la política, guarde esta instrucción en un archivo del equipo local. A continuación, ejecute el siguiente AWS CLI comando para aplicar la política de recursos. Para utilizar este comando de ejemplo, sustituya `full-path-to-policy-file` por la ruta del archivo que contiene la declaración de política.

```
aws logs put-resource-policy --policy-name trust-datasync --policy-document file://full-path-to-policy-file
```

**nota**  
Ejecute este comando utilizando el mismo Cuenta de AWS Región de AWS lugar donde activó su DataSync agente.

Para obtener más información, consulta la [https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html).

------

## Configurar el registro para su DataSync tarea
<a name="configure-logging-for-task"></a>

Se recomienda configurar al menos algún nivel de registro para la DataSync tarea.

**Antes de empezar**  
DataSync necesita permiso para cargar registros en un grupo de CloudWatch registros. Para obtener más información, consulte [DataSync Permitir cargar registros a un grupo de CloudWatch registros](#cloudwatchlogs).

### Uso de la DataSync consola
<a name="configure-logging-steps-console"></a>

Las siguientes instrucciones describen cómo configurar el CloudWatch registro al crear una tarea. También puede configurar el registro al editar una tarea.

1. Abra la AWS DataSync consola en [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/).

1. En el panel de navegación situado a la izquierda, expanda **Transferencia de datos**; luego, seleccione **Tareas** y, a continuación, seleccione **Crear tarea**.

1. Configure las ubicaciones de origen y destino de la tarea.

   Para obtener más información, consulte [¿Dónde puedo transferir mis datos AWS DataSync?](working-with-locations.md)

1. En la página **Configurar ajustes**, seleccione un [modo de tarea](choosing-task-mode.md) y cualquier otra opción.

   Puede que te interesen algunas de las siguientes opciones:
   + Especifique qué datos desea transferir mediante un [manifiesto](transferring-with-manifest.md) o [filtros](filtering.md).
   + Configure cómo [gestionar los metadatos de los archivos](configure-metadata.md) y [verificar la integridad de los datos](configure-data-verification-options.md).

1. En **Registro**, elija una de las siguientes opciones:
   + **Registrar información básica, como los errores de transferencia**: publique registros solo con la información básica (como los errores de transferencia).
   + **Registrar todos los objetos y archivos transferidos**: publique los registros de todos los archivos u objetos que DataSync transfiera y compruebe la integridad de los datos.
   + **No generar registros**

1. Realice una de las siguientes acciones en función del modo de tarea que utilice para crear o especificar un grupo de CloudWatch registros: 

------
#### [ Enhanced mode ]

   Al elegir **Crear tarea**, utiliza (o crea) DataSync automáticamente un grupo de registros denominado`/aws/datasync`.

------
#### [ Basic mode ]

   En el **CloudWatch caso de un grupo** de registros, especifique un grupo de registros en el que DataSync tenga permiso para cargar registros mediante una de las siguientes acciones:
   + Elija **Generar automáticamente** para crear automáticamente un grupo de registros que permita DataSync cargar registros en él.
   + Elija un grupo de registro ya existente en la Región de AWS actual.

     Si elige un grupo de registros existente, asegúrese de que [DataSync tiene permiso](#cloudwatchlogs) para cargar registros en ese grupo de registros.

------

1. Seleccione **Crear tarea**.

Ya está listo para [comenzar su tarea](run-task.md).

### Usando el AWS CLI
<a name="configure-logging-steps-cli"></a>

1. Copie el siguiente comando `create-task`:

   ```
   aws datasync create-task \
     --source-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --destination-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --task-mode "ENHANCED-or-BASIC" \
     --name "task-name" \
     --options '{"LogLevel": "log-level"}' \
     --cloudwatch-log-group-arn "arn:aws:logs:us-east-1:account-id:log-group:log-group-name:*"
   ```

1. Para `--source-location-arn`, especifique el nombre de recurso de Amazon (ARN) de la ubicación de origen.

1. Para `--destination-location-arn`, especifique el ARN de la ubicación de destino.

   Si realizas una transferencia entre Regiones de AWS nuestras cuentas, asegúrate de que el ARN incluya la otra región o ID de cuenta.

1. En `--task-mode`, especifique `ENHANCED` o `BASIC`.

1. (Recomendado) Para`--name`, especifique un nombre para la tarea que pueda recordar.

1. En `LogLevel`, especifique una de las siguientes opciones:
   + `BASIC`: publicar registros con solo información básica (como errores de transferencia).
   + `TRANSFER`— Publique los registros de todos los archivos u objetos que DataSync transfiera y compruebe la integridad de los datos.
   + `NONE`: no generar registros.

1. Para -`-cloudwatch-log-group-arn`, especifique el ARN de un grupo de CloudWatch registros.
**importante**  
Si `--task-mode` es `ENHANCED`, no necesita especificar esta opción. Para obtener más información, consulte [DataSync Permitir cargar registros a un grupo de CloudWatch registros](#cloudwatchlogs).

1. Ejecute el comando `create-task`.

   Si el comando se ejecuta correctamente, recibirá una respuesta que le mostrará el ARN de la tarea que creó. Por ejemplo:

   ```
   { 
       "TaskArn": "arn:aws:datasync:us-east-1:111222333444:task/task-08de6e6697796f026" 
   }
   ```

Ya está listo para [comenzar su tarea](run-task.md).

### Uso de la API DataSync
<a name="configure-logging-steps-api"></a>

Puede configurar el CloudWatch registro de la tarea mediante el `CloudWatchLogGroupArn` parámetro con cualquiera de las siguientes operaciones:
+ [https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html)
+ [https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html)

## Visualización de los registros de DataSync tareas
<a name="monitoring-verification-errors-cloudwatch"></a>

Al [iniciar la tarea](run-task.md), puede ver los registros de ejecución de la tarea mediante la CloudWatch consola o AWS CLI (entre otras opciones). Para obtener más información, consulta la [https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). 

DataSync proporciona registros estructurados en JSON para las tareas del modo mejorado. Las tareas en modo básico generan registros no estructurados. Los siguientes ejemplos muestran cómo se presentan los errores de verificación en los registros del modo mejorado en comparación con los registros del modo básico.

------
#### [ Enhanced mode log example ]

```
{
    "Action": "VERIFY",
    "Source": {
        "LocationId": "loc-abcdef01234567890",
        "RelativePath": "directory1/directory2/file1.txt"
    },
    "Destination": {
        "LocationId": "loc-05ab2fdc272204a5f",
        "RelativePath": "directory1/directory2/file1.txt",
        "Metadata": {
            "Type": "Object",
            "ContentSize": 66060288,
            "LastModified": "2024-10-03T20:46:58Z",
            "S3": {
                "SystemMetadata": {
                    "ContentType": "binary/octet-stream",
                    "ETag": "\"1234abcd5678efgh9012ijkl3456mnop\"",
                    "ServerSideEncryption": "AES256"
                },
                "UserMetadata": {
                    "file-mtime": "1602647222/222919600"
                },
                "Tags": {}
            }
        }
    },
    "ErrorCode": "FileNotAtSource",
    "ErrorDetail": "Verification failed due to file being present at the destination but not at the source"
}
```

------
#### [ Basic mode log example ]

```
[NOTICE] Verification failed > /directory1/directory2/file1.txt
[NOTICE] /directory1/directory2/file1.txt   dstMeta: type=R mode=0755 uid=65534 gid=65534 size=8972938 atime=1728657659/0 mtime=1728657659/0 extAttrsHash=0
[NOTICE]   dstHash: f9c2cca900301d38b0930367d8d587153154af467da0fdcf1bebc0848ec72c0d
```

------