

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 사용자 데이터 전송을 위한 작업 생성
<a name="create-task-how-to"></a>

*작업은*가 데이터를 AWS DataSync 전송하는 위치와 방법을 설명합니다. 작업은 다음과 같이 구성됩니다.
+ [**소스 위치**](working-with-locations.md) - DataSync가 데이터를 전송하는 소스 스토리지 시스템 또는 서비스입니다.
+ [**대상 위치**](working-with-locations.md) - DataSync가 데이터를 전송하는 대상 스토리지 시스템 또는 서비스입니다.
+ [**작업 옵션**](task-options.md) - 전송할 파일, 데이터 확인 방법, 작업 실행 시기 등의 설정입니다.
+ [**태스크 실행**](run-task.md) - 태스크를 실행하는 것을 *태스크 실행*이라고 합니다.

## 작업 생성
<a name="create-task-steps"></a>

DataSync 작업을 생성할 때 소스 및 대상 위치를 지정합니다. 전송할 파일, 메타데이터 처리 방법, 일정 설정 등을 선택하여 작업을 사용자 지정할 수도 있습니다.

작업을 생성하기 전에 [DataSync 전송 방식](how-datasync-transfer-works.md#transferring-files)을 이해하고 [작업 할당량](datasync-limits.md#task-hard-limits)을 검토해야 합니다.

**중요**  
Amazon S3 위치와 데이터를 주고받을 계획이라면 시작하기 전에 [DataSync가 S3 요청 요금에 미치는 영향](create-s3-location.md#create-s3-location-s3-requests) 및 [DataSync 요금 페이지](https://aws.amazon.com/datasync/pricing/)를 검토하세요.

### DataSync 콘솔 사용
<a name="create-task-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) AWS DataSync 콘솔을 엽니다.

1. 데이터를 전송 AWS 리전 하려는 중 하나에 있는지 확인합니다.

1. 왼쪽 탐색 창에서 **데이터 전송**을 확장한 다음 **작업**을 선택하고 **작업 생성**을 선택합니다.

1. **소스 위치 구성** 페이지에서 소스 위치를 [생성](transferring-data-datasync.md)하거나 선택하고 **다음**을 선택합니다.

1. **대상 위치 구성** 페이지에서 대상 위치를 [생성](transferring-data-datasync.md)하거나 선택하고 **다음**을 선택합니다.

1. (권장) **설정 구성** 페이지에서 작업에 기억할 수 있는 이름을 지정합니다.

1. **설정 구성** 페이지에서 작업 옵션을 선택하거나 기본 설정을 사용합니다.

   다음 옵션 중 일부에 관심이 있을 수 있습니다.
   + 사용할 [작업 모드](choosing-task-mode.md)를 지정합니다.
   + [매니페스트](transferring-with-manifest.md) 또는 [필터](filtering.md)를 사용하여 전송할 데이터를 지정합니다.
   + [파일 메타데이터를 처리](configure-metadata.md)하고 [데이터 무결성을 확인](configure-data-verification-options.md)하는 방법을 구성합니다.
   + [작업 보고서](task-reports.md) 또는 [Amazon CloudWatch](monitor-datasync.md)를 사용하여 전송을 모니터링합니다. 작업에 대한 일종의 모니터링을 설정하는 것이 좋습니다.

   완료했으면 **다음**을 선택합니다.

1. 작업 구성을 검토한 후 **작업 생성**을 선택합니다.

[작업을 시작](run-task.md)할 준비가 되었습니다.

### 사용 AWS CLI
<a name="create-task-cli"></a>

[DataSync 소스 및 대상 위치를 생성](transferring-data-datasync.md)하면 작업을 생성할 수 있습니다.

1.  AWS CLI 설정에서 데이터를 전송 AWS 리전 하려는 중 하나를 사용하고 있는지 확인합니다.

1. 다음 `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" \
     --name "task-name"
   ```

1. `--source-location-arn`에서 소스 위치의 Amazon 리소스 이름(ARN)을 지정합니다.

1. `--destination-location-arn`에서 대상 위치의 ARN을 지정합니다.

    AWS 리전 또는 계정 간에 전송하는 경우 ARN에 다른 리전 또는 계정 ID가 포함되어 있는지 확인합니다.

1. (권장) `--name`에서 기억할 수 있는 작업의 이름을 지정합니다.

1. 필요에 따라 다른 작업 옵션을 지정합니다. 다음 옵션 중 일부에 관심이 있을 수 있습니다.
   + [매니페스트](transferring-with-manifest.md) 또는 [필터](filtering.md)를 사용하여 전송할 데이터를 지정합니다.
   + [파일 메타데이터를 처리](configure-metadata.md)하고 [데이터 무결성을 확인](configure-data-verification-options.md)하는 방법을 구성합니다.
   + [작업 보고서](task-reports.md) 또는 [Amazon CloudWatch](monitor-datasync.md)를 사용하여 전송을 모니터링합니다. 작업에 대한 일종의 모니터링을 설정하는 것이 좋습니다.

   자세한 옵션은 [create-task](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/create-task.html) 섹션을 참조하세요. 다음은 여러 옵션을 지정하는 예제 `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" \
     --cloud-watch-log-group-arn "arn:aws:logs:region:account-id" \
     --name "task-name" \
     --options VerifyMode=NONE,OverwriteMode=NEVER,Atime=BEST_EFFORT,Mtime=PRESERVE,Uid=INT_VALUE,Gid=INT_VALUE,PreserveDevices=PRESERVE,PosixPermissions=PRESERVE,PreserveDeletedFiles=PRESERVE,TaskQueueing=ENABLED,LogLevel=TRANSFER
   ```

1. `create-task` 명령을 실행합니다.

   명령이 성공하면 생성한 작업의 ARN을 보여주는 응답을 받게 됩니다. 예제:

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

[작업을 시작](run-task.md)할 준비가 되었습니다.

## 태스크 상태
<a name="understand-task-creation-statuses"></a>

DataSync 작업을 생성할 때 상태를 확인하여 실행할 준비가 되었는지 확인할 수 있습니다.


| 콘솔 상태 | API 상태 | 설명 | 
| --- | --- | --- | 
| Available |  `AVAILABLE`  |  작업이 데이터 전송을 시작할 준비가 되었습니다.  | 
| 실행 |  `RUNNING`  | 작업 실행이 진행 중입니다. 자세한 내용은 [태스크 실행 상태](run-task.md#understand-task-execution-statuses) 단원을 참조하십시오. | 
|  Unavailable  |  `UNAVAILABLE`  |  태스크에 사용되는 DataSync 에이전트는 오프라인 상태입니다. 자세한 내용은 [에이전트가 오프라인 상태인 경우, 어떻게 해야 하나요?](troubleshooting-datasync-agents.md#troubleshoot-agent-offline) 섹션을 참조하세요.  | 
|  대기됨  |  `QUEUED`  |  동일한 DataSync 에이전트를 사용하는 다른 작업 실행이 진행 중입니다. 자세한 내용은 [작업이 대기열에 있는 시점 파악](run-task.md#queue-task-execution) 단원을 참조하십시오.  | 

## 여러 작업으로 대규모 데이터세트 파티셔닝
<a name="multiple-tasks-large-dataset"></a>

수백만 개의 파일 또는 객체 [마이그레이션](datasync-large-migration.md)과 같은 대규모 데이터 세트를 전송하는 경우 전송에 DataSync Enhanced 모드를 사용하는 것이 좋습니다.이 모드는 거의 무제한의 파일로 데이터 세트를 전송할 수 있습니다. 수십억 개의 파일이 있는 매우 큰 데이터 세트의 경우 여러 DataSync 작업으로 데이터 세트를 분할하는 것을 고려해야 합니다. 여러 작업(및 위치에 따라 [에이전트](do-i-need-datasync-agent.md#multiple-agents))에 데이터를 분할하면 DataSync가 데이터를 준비하고 전송하는 데 걸리는 시간을 줄일 수 있습니다.

여러 DataSync 작업에 걸쳐 대규모 데이터세트를 분할할 수 있는 몇 가지 방법을 고려하세요.
+ 개별 폴더를 전송하는 작업을 생성합니다. 예를 들어 소스 스토리지에서 각각 `/FolderA` 및 `/FolderB`를 대상으로 하는 두 개의 작업을 생성할 수 있습니다.
+ [매니페스트](transferring-with-manifest.md) 또는 [필터](filtering.md)를 사용하여 파일, 객체, 폴더의 하위 집합을 전송하는 작업을 생성합니다.

이러한 접근 방식으로 스토리지 시스템의 I/O 작업이 증가하고 네트워크 대역폭에 영향을 미칠 수 있다는 점에 유의하세요. 자세한 내용은 [How to accelerate your data transfers with DataSync scale out architectures](https://aws.amazon.com/blogs/storage/how-to-accelerate-your-data-transfers-with-aws-datasync-scale-out-architectures/)에 관한 블로그를 참조하세요.

## 여러 작업을 사용하여 전송된 데이터 분할
<a name="multiple-tasks-organize-transfer"></a>

서로 다른 데이터세트를 동일한 대상으로 전송하는 경우 전송하는 데이터를 분할하는 데 도움이 되는 여러 작업을 생성할 수 있습니다.

예를 들어 `MyBucket`이라는 동일한 S3 버킷으로 전송하는 경우 각 작업에 해당하는 다른 접두사를 버킷에 생성할수 있습니다. 이 접근 방식은 파일 이름이 데이터세트와 충돌하는 것을 방지하고 각 접두사에 대해 서로 다른 권한을 설정할 수 있습니다. 이를 설정하는 방법은 다음과 같습니다.

1. `task1`, `task2`, `task3`라는 이름의 대상 `MyBucket`에 세 개의 접두사를 생성합니다.
   + `s3://MyBucket/task1`
   + `s3://MyBucket/task2`
   + `s3://MyBucket/task3`

1. `task1`, `task2`, `task3`라는 이름의 DataSync 작업 세 개를 생성하여 `MyBucket`의 해당 접두사로 전송합니다.

# 데이터 전송을 위한 작업 모드 선택
<a name="choosing-task-mode"></a>

 AWS DataSync 작업은 다음 모드 중 하나로 실행할 수 있습니다.
+ **향상된 모드** - 기본 모드보다 성능이 뛰어난 파일 또는 객체를 사실상 무제한으로 전송합니다. 확장 모드 작업은 데이터를 병렬로 나열, 준비, 전송, 확인하여 데이터 전송 프로세스를 최적화합니다. 향상된 모드는 현재 Amazon S3 위치 간 전송, 에이전트 없이 Azure Blob와 Amazon S3 간 전송, 에이전트 없이 다른 클라우드와 Amazon S3 간 전송, 향상된 모드 에이전트를 사용하여 NFS 또는 SMB 파일 서버와 Amazon S3 간 전송에 사용할 수 있습니다.
+ **기본 모드** - AWS 스토리지와 지원되는 다른 모든 DataSync 위치 간에 파일 또는 객체를 전송합니다. 기본 모드 작업에는 데이터세트의 파일, 객체, 디렉터리 수에 대한 [할당량](datasync-limits.md)이 적용됩니다. 기본 모드는 데이터를 순차적으로 준비, 전송, 확인하므로 대부분의 워크로드에서 확장 모드보다 느립니다.

## 작업 모드 차이점 이해
<a name="task-mode-differences"></a>

다음 정보는 사용할 작업 모드를 결정하는 데 도움이 될 수 있습니다.


| 기능 | 확장 모드 동작 | 기본 모드 동작 | 
| --- | --- | --- | 
| [성능](how-datasync-transfer-works.md#transferring-files) | DataSync는 데이터를 병렬로 나열, 준비, 전송, 확인합니다. 대부분의 워크로드에 대해 기본 모드보다 높은 성능 제공(대용량 객체 전송 등) | DataSync는 데이터를 순차적으로 준비, 전송, 확인합니다. 대부분의 워크로드에서 확장 모드보다 성능이 느림 | 
| DataSync가 작업 실행당 사용할 수 있는 데이터세트의 항목 수 |  사실상 무제한의 객체  |  [할당량](datasync-limits.md#task-hard-limits) 적용  | 
|  데이터 전송 [카운터](transfer-performance-counters.md) 및 [지표](monitor-datasync.md)  |  DataSync가 소스 위치에서 찾는 객체 수, 각 작업 실행 중에 준비되는 객체 수, 파일 및 객체 카운터와 유사한 폴더 카운터 등 기본 모드보다 더 많은 카운터 및 지표  |  확장 모드보다 카운터 및 지표가 적음  | 
|  [로깅](configure-logging.md)  | 정형 로그(JSON 형식) | 비정형 로그 | 
|  [지원 위치](working-with-locations.md)  | 현재 Amazon S3 위치 간 전송, 에이전트 없이 Azure Blob와 Amazon S3 간 전송, 에이전트 없이 다른 클라우드와 Amazon S3 간 전송, 향상된 모드 에이전트를 사용하여 NFS 또는 SMB 파일 서버와 Amazon S3 간 전송의 경우. |  DataSync가 지원하는 모든 위치 간 전송의 경우  | 
|  [데이터 확인 옵션](configure-data-verification-options.md)  | DataSync가 전송된 데이터만 확인 | DataSync가 기본적으로 모든 데이터를 확인 | 
| 비용 | 자세한 내용은 [DataSync 요금](https://aws.amazon.com/datasync/pricing) 페이지를 참조하세요. | 자세한 내용은 [DataSync 요금](https://aws.amazon.com/datasync/pricing) 페이지를 참조하세요. | 
| 지원하지 않는 객체 태그에 대한 장애 처리 | 객체 태그 지정을 지원하지 않는 위치로 클라우드 스토리지를 전송하거나 해당 위치에서 전송 받는 경우 ObjectTags 옵션이 지정되지 않거나 PRESERVE으로 설정되어 있으면 작업 실행이 즉시 실패합니다. | 객체 태그 지정을 지원하지 않는 위치로 클라우드 스토리지를 전송하거나 해당 위치에서 전송 받는 경우 작업 실행이 정상적으로 수행되지만 ObjectTags 옵션이 지정되지 않았거나 PRESERVE로 설정되어 있으면 태그가 지정된 객체에 대한 객체별 실패를 보고합니다. | 

## 작업 모드 선택
<a name="choosing-task-mode-how-to"></a>

향상된 모드 에이전트를 사용하여 Amazon S3 위치 간 전송, 에이전트 없이 Azure Blob와 Amazon S3 간 전송, 에이전트 없이 다른 클라우드와 Amazon S3 간 전송, NFS 또는 SMB 파일 서버와 Amazon S3 간 전송에 대해서만 향상된 모드를 선택할 수 있습니다. 그렇지 않으면 기본 모드를 사용해야 합니다. 예를 들어 온프레미스 [HDFS 위치에서](create-hdfs-location.md) S3 위치로 전송하려면 기본 모드가 필요합니다.

작업 옵션과 성능은 선택한 작업 모드에 따라 다를 수 있습니다. 작업을 생성한 후에는 작업 모드를 변경할 수 없습니다.

**필수 권한**  
확장 모드 작업을 생성하려면 DataSync를 사용하는 IAM 역할에 `iam:CreateServiceLinkedRole` 권한이 있어야 합니다.  
DataSync 사용자 권한을 설정하려면 [AWSDataSyncFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-awsdatasyncfullaccess)를 사용하는 것이 좋습니다. 이는 사용자에게 DataSync에 대한 전체 액세스 권한과 해당 종속성에 대한 최소 액세스를 제공하는 AWS 관리형 정책입니다.

### DataSync 콘솔 사용
<a name="choosing-task-mode-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) AWS DataSync 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **데이터 전송**을 확장한 다음 **작업**을 선택하고 **작업 생성**을 선택합니다.

1. 태스크의 소스 및 대상 위치를 구성합니다.

   자세한 내용은 [데이터를 어디로 전송할 수 있나요 AWS DataSync?](working-with-locations.md) 섹션을 참조하세요.

1. **작업 모드**의 경우, 다음 옵션 중 하나를 선택합니다.
   + **Enhanced**
   + **기본**

   자세한 내용은 [작업 모드 차이점 이해](#task-mode-differences) 단원을 참조하십시오.

1. **설정 구성** 페이지에서 작업 옵션을 선택하거나 기본 설정을 사용합니다.

   다음 옵션 중 일부에 관심이 있을 수 있습니다.
   + [매니페스트](transferring-with-manifest.md) 또는 [필터](filtering.md)를 사용하여 전송할 데이터를 지정합니다.
   + [파일 메타데이터를 처리](configure-metadata.md)하고 [데이터 무결성을 확인](configure-data-verification-options.md)하는 방법을 구성합니다.
   + [작업 보고서](task-reports.md) 또는 [Amazon CloudWatch Logs](monitor-datasync.md)를 사용하여 전송을 모니터링합니다.

   완료했으면 **다음**을 선택합니다.

1. 작업 구성을 검토한 후 **작업 생성**을 선택합니다.

### 사용 AWS CLI
<a name="choosing-task-mode-cli"></a>

1.  AWS CLI 설정에서 데이터를 전송 AWS 리전 하려는 중 하나를 사용하고 있는지 확인합니다.

1. 다음 `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"
   ```

1. `--source-location-arn`에서 소스 위치의 Amazon 리소스 이름(ARN)을 지정합니다.

1. `--destination-location-arn`에서 대상 위치의 ARN을 지정합니다.

    AWS 리전 또는 계정 간에 전송하는 경우 ARN에 다른 리전 또는 계정 ID가 포함되어 있는지 확인합니다.

1. `--task-mode`에 대해 `ENHANCED` 또는 `BASIC`을 지정합니다.

   자세한 내용은 [작업 모드 차이점 이해](#task-mode-differences) 단원을 참조하십시오.

1. 필요에 따라 다른 작업 옵션을 지정합니다. 다음 옵션 중 일부에 관심이 있을 수 있습니다.
   + [매니페스트](transferring-with-manifest.md) 또는 [필터](filtering.md)를 사용하여 전송할 데이터를 지정합니다.
   + [파일 메타데이터를 처리](configure-metadata.md)하고 [데이터 무결성을 확인](configure-data-verification-options.md)하는 방법을 구성합니다.
   + [작업 보고서](task-reports.md) 또는 [Amazon CloudWatch Logs](monitor-datasync.md)를 사용하여 전송을 모니터링합니다.

   자세한 옵션은 [create-task](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/create-task.html) 섹션을 참조하세요. 다음은 확장 모드 및 여러 기타 옵션을 지정하는 `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" \
     --name "task-name" \
     --task-mode "ENHANCED" \
     --options TransferMode=CHANGED,VerifyMode=ONLY_FILES_TRANSFERRED,ObjectTags=PRESERVE,LogLevel=TRANSFER
   ```

1. `create-task` 명령을 실행합니다.

   명령이 성공하면 생성한 작업의 ARN을 보여주는 응답을 받게 됩니다. 예제:

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

### DataSync API 사용
<a name="choosing-task-mode-api"></a>

[CreateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html) 작업에서 `TaskMode` 파라미터를 구성하여 DataSync 작업 모드를 지정할 수 있습니다.

# AWS DataSync 전송할 항목 선택
<a name="task-options"></a>

AWS DataSync 를 사용하면 전송할 항목과 데이터 처리 방법을 선택할 수 있습니다. 몇 가지 옵션은 다음과 같습니다.
+ 매니페스트를 사용하여 파일 또는 객체의 정확한 목록을 전송합니다.
+ 필터를 사용하여 전송에 특정 유형의 데이터를 포함하거나 제외합니다.
+ 반복 전송의 경우 마지막 전송 이후 변경된 데이터만 이동합니다.
+ 소스 위치에 있는 것과 일치하도록 대상 위치의 데이터를 덮어씁니다.
+ 스토리지 위치 간에 보존할 파일 또는 객체 메타데이터를 선택합니다.

**Topics**
+ [매니페스트를 사용하여 특정 파일 또는 객체 전송](transferring-with-manifest.md)
+ [필터를 사용하여 특정 파일, 객체 및 폴더 전송](filtering.md)
+ [DataSync가 파일 및 객체 메타데이터를 처리하는 방법 이해](metadata-copied.md)
+ [에서 복사한 링크 및 디렉터리 AWS DataSync](special-files-copied.md)
+ [파일, 객체 및 메타데이터 처리 방법 구성](configure-metadata.md)

# 매니페스트를 사용하여 특정 파일 또는 객체 전송
<a name="transferring-with-manifest"></a>

*매니페스트*는 전송 AWS DataSync 하려는 파일 또는 객체의 목록입니다. 예를 들어 잠재적으로 수백만 개의 객체가 있는 S3 버킷의 모든 것을 전송해야 하는 대신 DataSync는 매니페스트에 나열한 객체만 전송합니다.

매니페스트는 [필터](filtering.md)와 비슷하지만 필터 패턴과 일치하는 데이터 대신 전송할 파일 또는 객체를 정확하게 식별할 수 있습니다.

**참고**  
확장 모드 작업을 포함한 매니페스트 파일의 최대 허용 크기는 20GB입니다.

## 매니페스트 생성
<a name="transferring-with-manifest-create"></a>

매니페스트는 DataSync가 전송할 소스 위치의 파일 또는 객체를 나열하는 쉼표로 구분된 값(CSV) 형식의 파일입니다. 소스가 S3 버킷인 경우 전송할 객체 버전을 포함할 수도 있습니다.

**Topics**
+ [지침](#transferring-with-manifest-guidelines)
+ [매니페스트 예제](#manifest-examples)

### 지침
<a name="transferring-with-manifest-guidelines"></a>

이 지침을 사용하면 DataSync에서 작동하는 매니페스트를 생성하는 데 도움이 됩니다.

------
#### [ Do ]
+ 전송하려는 각 파일 또는 객체의 전체 경로를 지정합니다.

  모든 콘텐츠를 전송할 의도로 디렉터리 또는 폴더만 지정할 수는 없습니다. 이러한 상황에서는 매니페스트 대신 [포함 필터](filtering.md)를 사용하는 것이 좋습니다.
+ 각 파일 또는 객체 경로가 DataSync 소스 위치를 구성할 때 지정한 마운트 경로, 폴더, 디렉터리 또는 접두사와 관련이 있는지 확인합니다.

  예를 들어 접두사가 `photos`인 [S3 위치를 구성](create-s3-location.md#create-s3-location-how-to)한다고 가정해 보겠습니다. 이 접두사에는 전송하려는 `my-picture.png` 객체가 포함됩니다. 매니페스트에서 접두사 및 객체(`photos/my-picture.png`) 대신 객체(`my-picture.png`)만 지정하면 됩니다.
+ Amazon S3 객체 버전 ID를 지정하려면 쉼표를 사용하여 객체의 경로와 버전 ID를 구분합니다.

  다음 예제에서는 두 개의 필드가 있는 매니페스트 항목을 보여줍니다. 첫 번째 필드에는 `picture1.png`라는 객체가 포함됩니다. 두 번째 필드는 쉼표로 구분되며 `111111`의 버전 ID를 포함합니다.

  ```
  picture1.png,111111
  ```
+ 다음과 같은 상황에서는 따옴표를 사용합니다.
  + 경로에 특수 문자(쉼표, 따옴표, 줄 끝)가 포함된 경우:

    `"filename,with,commas.txt"`
  + 경로가 여러 줄에 걸쳐 있는 경우:

    ```
    "this
    is
    a
    filename.txt"
    ```
  + 경로에 따옴표가 포함된 경우:

    `filename""with""quotes.txt`

    이는 `filename"with"quotes.txt`라는 경로를 나타냅니다.

  이러한 따옴표 규칙은 버전 ID 필드에도 적용됩니다. 일반적으로 매니페스트 필드에 따옴표가 있는 경우 다른 따옴표로 이스케이프해야 합니다.
+ 각 파일 또는 객체 항목을 새 줄로 구분합니다.

  Linux(라인 피드 또는 캐리지 반환) 또는 Windows(캐리지 반환 후 라인 피드) 스타일 라인 분리를 사용하여 라인을 분리할 수 있습니다.
+ 매니페스트(예: `my-manifest.csv` 또는 `my-manifest.txt`)를 저장합니다.
+ [DataSync가 액세스할 수 있는](#transferring-with-manifest-access) S3 버킷에 매니페스트를 업로드합니다.

  이 버킷은 DataSync를 사용하는 동일한 AWS 리전 또는 계정에 있을 필요는 없습니다.

------
#### [ Don't ]
+ 모든 콘텐츠를 전송할 의도로 디렉터리 또는 폴더만 지정합니다.

  매니페스트는 전송하려는 파일 또는 객체에 대한 전체 경로만 포함할 수 있습니다. 특정 탑재 경로, 폴더, 디렉터리 또는 접두사를 사용하도록 소스 위치를 구성하는 경우 매니페스트에 포함할 필요가 없습니다.
+ 4,096자를 초과하는 파일 또는 객체 경로를 지정합니다.
+ 1,024바이트를 초과하는 파일 경로, 객체 경로 또는 Amazon S3 객체 버전 ID를 지정합니다.
+ 중복 파일 또는 객체 경로를 지정합니다.
+ 소스 위치가 S3 버킷이 아닌 경우 객체 버전 ID를 포함합니다.
+ 매니페스트 항목에 두 개 이상의 필드를 포함합니다.

  항목에는 파일 또는 객체 경로와 (해당하는 경우) Amazon S3 객체 버전 ID만 포함될 수 있습니다.
+ UTF-8 인코딩을 준수하지 않는 문자를 포함합니다.
+ 따옴표 외부의 입력 필드에 의도하지 않은 공백을 포함합니다.

------

### 매니페스트 예제
<a name="manifest-examples"></a>

이 예제를 사용하면 DataSync에서 작동하는 매니페스트를 생성하는 데 도움이 됩니다.

**전체 파일 또는 객체 경로가 있는 매니페스트**  
다음 예제에서는 전송할 전체 파일 또는 객체 경로가 있는 매니페스트를 보여줍니다.  

```
photos/picture1.png
photos/picture2.png
photos/picture3.png
```

**객체 키만 있는 매니페스트**  
다음 예제에서는 Amazon S3 소스 위치에서 전송할 객체가 있는 매니페스트를 보여줍니다. [위치는 접두사 `photos`로 구성](create-s3-location.md#create-s3-location-how-to)되므로 객체 키만 지정됩니다.  

```
picture1.png
picture2.png
picture3.png
```

**객체 경로 및 버전 ID가 있는 매니페스트**  
다음 매니페스트 예제의 처음 두 항목에는 전송할 특정 Amazon S3 객체 버전이 포함됩니다.  

```
photos/picture1.png,111111
photos/picture2.png,121212
photos/picture3.png
```

**UTF-8 문자가 포함된 매니페스트**  
다음 예제에서는 UTF-8 문자가 포함된 파일이 있는 매니페스트를 보여줍니다.  

```
documents/résumé1.pdf
documents/résumé2.pdf
documents/résumé3.pdf
```

## DataSync에 매니페스트 액세스 권한 제공
<a name="transferring-with-manifest-access"></a>

DataSync에 S3 버킷의 매니페스트에 대한 액세스 권한을 부여하는 AWS Identity and Access Management (IAM) 역할이 필요합니다. 이 역할에는 다음 권한이 포함되어야 합니다.
+ `s3:GetObject`
+ `s3:GetObjectVersion`

DataSync 콘솔에서 이 역할을 자동으로 생성하거나 직접 생성할 수 있습니다.

**참고**  
매니페스트가 다른에 AWS 계정있는 경우이 역할을 수동으로 생성해야 합니다.

### IAM 역할 자동 생성
<a name="creating-manfiest-role-automatically"></a>

콘솔에서 전송 작업을 생성하거나 시작할 때 DataSync는 매니페스트에 액세스하는 데 필요한 `s3:GetObject` 및 `s3:GetObjectVersion` 권한을 사용하여 IAM 역할을 생성할 수 있습니다.

**역할을 자동으로 생성하기 위해 필요한 권한**  
역할을 자동으로 생성하려면 DataSync 콘솔에 액세스하는 데 사용하는 역할에 다음 권한이 있는지 확인합니다.  
+ `iam:CreateRole`
+ `iam:CreatePolicy`
+ `iam:AttachRolePolicy`

### IAM 역할 생성(동일한 계정)
<a name="creating-manfiest-role-automatically-same-account"></a>

DataSync가 매니페스트에 액세스하는 데 필요한 IAM 역할을 수동으로 생성할 수 있습니다. 다음 지침은 DataSync를 사용하고 매니페스트의 S3 버킷이 있는 동일한 AWS 계정 에 있다고 가정합니다.

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. 왼쪽 탐색 창의 **액세스 관리**에서 **역할**을 선택한 다음, **역할 생성**을 선택합니다.

1. **신뢰할 수 있는 엔터티 선택** 페이지에서 **신뢰할 수 있는 엔터티 유형**으로 **AWS 서비스**를 선택합니다.

1. **사용 사례**로 드롭다운 목록에서 **DataSync**를 선택하고 **DataSync**를 선택합니다. **다음**을 선택합니다.

1. **권한 추가** 페이지에서 **다음**을 선택합니다. 역할 이름을 제공하고 **역할 생성**을 선택합니다.

1. **역할** 페이지에서 방금 생성한 역할의 이름을 검색해 선택합니다.

1. 역할의 세부 정보 페이지에서 **권한** 탭을 선택합니다. **권한 추가**를 선택한 후 **인라인 정책 추가**를 선택합니다.

1. **JSON** 탭을 선택하고 다음 샘플 정책을 정책 편집기에 붙여 넣습니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "DataSyncAccessManifest",
           "Effect": "Allow",
           "Action": [
               "s3:GetObject",
               "s3:GetObjectVersion"
           ],
           "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/my-manifest.csv"
       }]
   }
   ```

------

1. 방금 붙여넣은 샘플 정책에서 다음 값을 자체 값으로 바꿉니다.

   1. `amzn-s3-demo-bucket`을 매니페스트를 호스팅하는 S3 버킷의 이름으로 바꿉니다.

   1. `my-manifest.csv`를 매니페스트 파일의 이름으로 바꿉니다.

1. **다음**을 선택합니다. 정책에 이름을 제공하고 **정책 생성**을 선택합니다.

1. (권장) [교차 서비스 혼동된 대리자 문제](cross-service-confused-deputy-prevention.md)를 방지하려면 다음을 수행합니다.

   1. 역할의 세부 정도 페이지에서 **신뢰 관계** 탭을 선택합니다. **신뢰 정책 편집**을 선택합니다.

   1. `aws:SourceArn` 및 `aws:SourceAccount`전역 조건 컨텍스트 키가 포함된 다음 예를 사용하여 신뢰 정책을 업데이트하세요.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                  "Service": "datasync.amazonaws.com"
              },
              "Action": "sts:AssumeRole",
              "Condition": {
                  "StringEquals": {
                  "aws:SourceAccount": "555555555555"
                  },
                  "ArnLike": {
                  "aws:SourceArn": "arn:aws:datasync:us-east-1:555555555555:*"
                  }
              }
            }
        ]
      }
      ```

------
      + 각 인스턴스를 DataSync를 사용하는 AWS 계정 ID`account-id`로 바꿉니다.
      + 를 DataSync를 사용하는 AWS 리전 `region`로 바꿉니다.

   1. **정책 업데이트**를 선택합니다.

DataSync가 매니페스트에 액세스하도록 허용하는 IAM 역할을 생성했습니다. 작업을 [생성](#manifest-creating-task)하거나 [시작](#manifest-starting-task)할 때 이 역할을 지정합니다.

### IAM 역할 생성(다른 계정)
<a name="creating-manfiest-role-automatically-different-account"></a>

매니페스트가 다른에 속하는 S3 버킷에 있는 AWS 계정경우 DataSync가 매니페스트에 액세스하는 데 사용하는 IAM 역할을 수동으로 생성해야 합니다. 그런 다음 매니페스트가 AWS 계정 있는에서 S3 버킷 정책에 역할을 포함해야 합니다.

#### 역할 만들기
<a name="creating-manfiest-role-automatically-different-account-1"></a>

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. 왼쪽 탐색 창의 **액세스 관리**에서 **역할**을 선택한 다음, **역할 생성**을 선택합니다.

1. **신뢰할 수 있는 엔터티 선택** 페이지에서 **신뢰할 수 있는 엔터티 유형**으로 **AWS 서비스**를 선택합니다.

1. **사용 사례**로 드롭다운 목록에서 **DataSync**를 선택하고 **DataSync**를 선택합니다. **다음**을 선택합니다.

1. **권한 추가** 페이지에서 **다음**을 선택합니다. 역할 이름을 제공하고 **역할 생성**을 선택합니다.

1. **역할** 페이지에서 방금 생성한 역할의 이름을 검색해 선택합니다.

1. 역할의 세부 정보 페이지에서 **권한** 탭을 선택합니다. **권한 추가**를 선택한 후 **인라인 정책 추가**를 선택합니다.

1. **JSON** 탭을 선택하고 다음 샘플 정책을 정책 편집기에 붙여 넣습니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "DataSyncAccessManifest",
           "Effect": "Allow",
           "Action": [
               "s3:GetObject",
               "s3:GetObjectVersion"
           ],
           "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/my-manifest.csv"
       }]
   }
   ```

------

1. 방금 붙여넣은 샘플 정책에서 다음 값을 자체 값으로 바꿉니다.

   1. `amzn-s3-demo-bucket`을 매니페스트를 호스팅하는 S3 버킷의 이름으로 바꿉니다.

   1. `my-manifest.csv`를 매니페스트 파일의 이름으로 바꿉니다.

1. **다음**을 선택합니다. 정책에 이름을 제공하고 **정책 생성**을 선택합니다.

1. (권장) [교차 서비스 혼동된 대리자 문제](cross-service-confused-deputy-prevention.md)를 방지하려면 다음을 수행합니다.

   1. 역할의 세부 정도 페이지에서 **신뢰 관계** 탭을 선택합니다. **신뢰 정책 편집**을 선택합니다.

   1. `aws:SourceArn` 및 `aws:SourceAccount`전역 조건 컨텍스트 키가 포함된 다음 예를 사용하여 신뢰 정책을 업데이트하세요.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                  "Service": "datasync.amazonaws.com"
              },
              "Action": "sts:AssumeRole",
              "Condition": {
                  "StringEquals": {
                  "aws:SourceAccount": "000000000000"
                  },
                  "ArnLike": {
                  "aws:SourceArn": "arn:aws:datasync:us-east-1:000000000000:*"
                  }
              }
           }
        ]
      }
      ```

------
      + 의 각 인스턴스를 DataSync를 사용하는 AWS 계정 ID`account-id`로 바꿉니다.
      + 를 DataSync를 사용하는 AWS 리전 `region`로 바꿉니다.

   1. **정책 업데이트**를 선택합니다.

S3 버킷 정책에 포함할 수 있는 IAM 역할을 생성했습니다.

#### 역할로 S3 버킷 정책 업데이트
<a name="creating-manfiest-role-automatically-different-account-2"></a>

IAM 역할을 생성한 후에는 매니페스트가 AWS 계정 있는 다른의 S3 버킷 정책에 추가해야 합니다.

1. 에서 매니페스트의 S3 버킷이 있는 계정으로 AWS Management Console전환합니다.

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 버킷 세부 사항 페이지에서 **권한** 탭을 선택합니다.

1. **버킷 정책**에서 **편집**을 선택하고 다음을 수행하여 S3 버킷 정책을 수정하세요.

   1. 편집기에 있는 내용을 업데이트하여 다음 정책 설명을 포함하세요.

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Sid": "DataSyncAccessManifestBucket",
            "Effect": "Allow",
            "Action": [
              "s3:GetObject",
              "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
          }
        ]
      }
      ```

------

   1. 를 DataSync를 사용하는 계정의 AWS 계정 ID로 `account-id` 바꿉니다.

   1. `datasync-role`을 방금 생성한 IAM 역할로 바꾸면 DataSync가 매니페스트에 액세스할 수 있습니다.

   1. `amzn-s3-demo-bucket`을 다른 AWS 계정에서 매니페스트를 호스팅하는 S3 버킷의 이름으로 바꿉니다.

1. **변경 사항 저장**을 선택합니다.

DataSync가 다른 계정의 매니페스트에 액세스하도록 허용하는 IAM 역할을 생성했습니다. 작업을 [생성](#manifest-creating-task)하거나 [시작](#manifest-starting-task)할 때 이 역할을 지정합니다.

## 작업 생성 시 매니페스트 지정
<a name="manifest-creating-task"></a>

작업을 생성할 때 DataSync가 사용할 매니페스트를 지정할 수 있습니다.

### DataSync 콘솔 사용
<a name="manifest-creating-task-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) AWS DataSync 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **작업**을 선택한 후 **작업 생성**을 선택합니다.

1. 태스크의 소스 및 대상 위치를 구성합니다.

   자세한 내용은 [데이터를 어디로 전송할 수 있나요 AWS DataSync?](working-with-locations.md) 섹션을 참조하세요.

1. **스캔할 콘텐츠**에서 **특정 파일, 객체 및 폴더**를 선택한 다음 **매니페스트 사용**을 선택합니다.

1. **S3 URI**에서 S3 버킷에 호스팅되는 매니페스트를 선택합니다.

   또는 URI(예: `s3://bucket/prefix/my-manifest.csv`)를 입력할 수 있습니다.

1. **객체 버전**에서 DataSync가 사용할 매니페스트의 버전을 선택합니다.

   기본적으로 DataSync는 최신 버전의 객체를 사용합니다.

1. **매니페스트 액세스 역할**에서 다음 중 하나를 수행합니다.
   + DataSync가 S3 버킷의 매니페스트에 액세스하는 데 필요한 권한을 가진 IAM 역할을 자동으로 생성하도록 **자동 생성**을 선택합니다.
   + 매니페스트에 액세스할 수 있는 기존 IAM 역할을 선택합니다.

   자세한 내용은 [DataSync에 매니페스트 액세스 권한 제공](#transferring-with-manifest-access) 단원을 참조하십시오.

1. 필요한 다른 작업 설정을 구성한 후 **다음**을 선택합니다.

1. **작업 생성**을 선택합니다.

### 사용 AWS CLI
<a name="manifest-creating-task-cli"></a>

1. 다음 `create-task`명령을 복사합니다.

   ```
   aws datasync create-task \
     --source-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh \
     --destination-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-abcdefgh12345678 \
     --manifest-config {
         "Source": {
           "S3": {
               "ManifestObjectPath": "s3-object-key-of-manifest",
               "BucketAccessRoleArn": "bucket-iam-role",
               "S3BucketArn": "amzn-s3-demo-bucket-arn",
               "ManifestObjectVersionId": "manifest-version-to-use" 
           }
         }
     }
   ```

1. `--source-location-arn` 파라미터에서 데이터를 전송하는 소스 위치의 Amazon 리소스 이름(ARN)을 지정합니다.

1. `--destination-location-arn` 파라미터에서 데이터를 전송하는 대상 위치의 ARN을 지정합니다.

1. `--manifest-config` 파라미터에 관하여 다음을 수행합니다.
   + `ManifestObjectPath`-매니페스트의 S3 객체 키를 지정합니다.
   + `BucketAccessRoleArn`-DataSync가 S3 버킷의 매니페스트에 액세스하도록 허용하는 IAM 역할을 지정합니다.

     자세한 내용은 [DataSync에 매니페스트 액세스 권한 제공](#transferring-with-manifest-access) 단원을 참조하십시오.
   + `S3BucketArn`-매니페스트를 호스팅하는 S3 버킷의 ARN을 지정합니다.
   + `ManifestObjectVersionId`-DataSync에서 사용할 매니페스트의 버전을 지정합니다.

     기본적으로 DataSync는 최신 버전의 객체를 사용합니다.

1. `create-task` 명령을 실행하여 작업을 생성합니다.

준비가 되면 [전송 작업을 시작](run-task.md)할 수 있습니다.

## 작업을 시작할 때 매니페스트 지정
<a name="manifest-starting-task"></a>

작업을 실행할 때 DataSync가 사용할 매니페스트를 지정할 수 있습니다.

### DataSync 콘솔 사용
<a name="manifest-starting-task-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) AWS DataSync 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **작업**을 선택한 다음 시작할 작업을 선택합니다.

1. 작업 개요 페이지에서 **시작**을 선택한 다음 **재정의 옵션으로 시작**을 선택합니다.

1. **스캔할 콘텐츠**에서 **특정 파일, 객체 및 폴더**를 선택한 다음 **매니페스트 사용**을 선택합니다.

1. **S3 URI**에서 S3 버킷에 호스팅되는 매니페스트를 선택합니다.

   또는 URI(예: `s3://bucket/prefix/my-manifest.csv`)를 입력할 수 있습니다.

1. **객체 버전**에서 DataSync가 사용할 매니페스트의 버전을 선택합니다.

   기본적으로 DataSync는 최신 버전의 객체를 사용합니다.

1. **매니페스트 액세스 역할**에서 다음 중 하나를 수행합니다.
   + DataSync에 대해 **자동 생성**을 선택하여 S3 버킷에서 매니페스트에 액세스할 IAM 역할을 자동으로 생성합니다.
   + 매니페스트에 액세스할 수 있는 기존 IAM 역할을 선택합니다.

   자세한 내용은 [DataSync에 매니페스트 액세스 권한 제공](#transferring-with-manifest-access) 단원을 참조하십시오.

1. **시작**을 선택하여 전송을 시작합니다.

### 사용 AWS CLI
<a name="manifest-starting-task-cli"></a>

1. 다음 `start-task-execution`명령을 복사합니다.

   ```
   aws datasync start-task-execution \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh \
     --manifest-config {
         "Source": {
           "S3": {
               "ManifestObjectPath": "s3-object-key-of-manifest",
               "BucketAccessRoleArn": "bucket-iam-role",
               "S3BucketArn": "amzn-s3-demo-bucket-arn",
               "ManifestObjectVersionId": "manifest-version-to-use" 
           }
         }
     }
   ```

1. `--task-arn` 파라미터에는 시작하려는 작업의 Amazon 리소스 이름(ARN)을 지정합니다.

1. `--manifest-config` 파라미터에 관하여 다음을 수행합니다.
   + `ManifestObjectPath`-매니페스트의 S3 객체 키를 지정합니다.
   + `BucketAccessRoleArn`-DataSync가 S3 버킷의 매니페스트에 액세스하도록 허용하는 IAM 역할을 지정합니다.

     자세한 내용은 [DataSync에 매니페스트 액세스 권한 제공](#transferring-with-manifest-access) 단원을 참조하십시오.
   + `S3BucketArn`-매니페스트를 호스팅하는 S3 버킷의 ARN을 지정합니다.
   + `ManifestObjectVersionId`-DataSync에서 사용할 매니페스트의 버전을 지정합니다.

     기본적으로 DataSync는 최신 버전의 객체를 사용합니다.

1. `start-task-execution` 명령을 실행하여 전송을 시작합니다.

## 제한 사항
<a name="transferring-with-manifest-limitations"></a>
+ 매니페스트를 [필터](filtering.md)와 함께 사용할 수 없습니다.
+ 모든 콘텐츠를 전송할 의도로 디렉터리 또는 폴더만 지정할 수는 없습니다. 이러한 상황에서는 매니페스트 대신 [포함 필터](filtering.md)를 사용하는 것이 좋습니다.
+ **삭제된 파일 유지** 작업 옵션([API](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-PreserveDeletedFiles)의 `PreserveDeletedFiles`)을 사용하여 [소스에 없는 대상의 파일 또는 객체를 유지](configure-metadata.md)할 수 없습니다. DataSync는 매니페스트에 나열된 항목만 전송하며 대상의 아무것도 삭제하지 않습니다.

## 문제 해결
<a name="manifests-troubleshooting"></a>

**`HeadObject` 또는 `GetObjectTagging` 관련 오류**  
S3 버킷에서 특정 버전 ID가 있는 객체를 전송하는 경우 `HeadObject` 또는 `GetObjectTagging` 관련 오류가 발생할 수 있습니다. 예를 들어 `GetObjectTagging` 관련 오류는 다음과 같습니다.

```
[WARN] Failed to read metadata for file /picture1.png (versionId: 111111): S3 Get Object Tagging Failed
[ERROR] S3 Exception: op=GetObjectTagging photos/picture1.png, code=403, type=15, exception=AccessDenied, 
msg=Access Denied req-hdrs: content-type=application/xml, x-amz-api-version=2006-03-01 rsp-hdrs: content-type=application/xml, 
date=Wed, 07 Feb 2024 20:16:14 GMT, server=AmazonS3, transfer-encoding=chunked, 
x-amz-id-2=IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km, x-amz-request-id=79104EXAMPLEB723
```

이러한 오류 중 하나가 표시되면 DataSync가 S3 소스 위치에 액세스하는 데 사용하는 IAM 역할에 다음 권한이 있는지 확인합니다.
+ `s3:GetObjectVersion`
+ `s3:GetObjectVersionTagging`

이러한 권한으로 역할을 업데이트해야 하는 경우 [DataSync가 Amazon S3 위치에 액세스할 수 있도록 IAM 역할 생성](create-s3-location.md#create-role-manually) 섹션을 참조하세요.

**오류: `ManifestFileDoesNotExist`**  
이 오류는 매니페스트 내의 파일을 소스에서 찾을 수 없음을 나타냅니다. 매니페스트 생성 [지침](#transferring-with-manifest-guidelines)을 검토합니다.

## 다음 단계
<a name="manifests-next-steps"></a>

아직 작업을 시작하지 않은 경우 [작업을 시작](run-task.md)합니다. 그렇지 않으면 [작업의 활동을 모니터링](monitoring-overview.md)합니다.

# 필터를 사용하여 특정 파일, 객체 및 폴더 전송
<a name="filtering"></a>

AWS DataSync 를 사용하면 필터를 적용하여 전송 시 소스 위치에서 데이터를 포함하거나 제외할 수 있습니다. 예를 들어 `.tmp`로 끝나는 임시 파일을 전송하지 않으려면 해당 파일이 대상 위치로 전송되지 않게 하는 제외 필터를 생성할 수 있습니다.

동일한 전송 작업에 제외 필터와 포함 필터를 조합하여 사용할 수 있습니다. 작업의 필터를 수정하면 다음 번에 작업을 실행할 때 이러한 변경 사항이 적용됩니다.

## 필터링 용어, 정의 및 구문
<a name="filter-overview"></a>

DataSync 필터링과 관련된 개념을 숙지하세요.

**필터 **  
특정 필터(예, `*.tmp``|``*.temp`혹은 `/folderA|/folderB`)를 구성하는 전체 문자열입니다.  
필터는 하나의 파이프(\$1)를 사용하여 구분되는 패턴으로 구성됩니다. 각 패턴을 개별적으로 추가하므로 DataSync 콘솔에 패턴을 추가할 때 구분 기호를 사용할 필요가 없습니다.  
필터 값은 대소문자를 구분합니다. 예를 들어 필터 `/folderA`은 `/FolderA`와 일치하지 않습니다.

**패턴**  
필터 내 패턴입니다. 예를 들어, `*.tmp`은 `*.tmp``|``*.temp`필터의 일부인 패턴입니다. 필터에 여러 패턴이 있는 경우 파이프(\$1)를 사용하여 각 패턴을 구분합니다.

**폴더**  
+ 모든 필터는 소스 위치 경로와 관련이 있습니다. 예를 들어, 사용자가 사용자 소스 위치와 작업을 생성할 때 `/my_source/`을 소스 경로로 지정한다면 포함 필터 `/transfer_this/`를 지정합니다. 이 경우 DataSync는 디렉터리 `/my_source/transfer_this/`과 그 콘텐츠만 전송합니다.
+ 소스 위치 바로 밑에 직접 폴더를 지정하려면 폴더 이름 앞에 슬래시(/)를 포함시키십시오. 이전 예제에서 패턴은 `transfer_this`가 아닌 `/transfer_this`를 사용합니다.
+ DataSync는 다음 패턴을 동일한 방식으로 해석하여 폴더와 해당 콘텐츠 모두를 일치시킵니다.

  `/dir` 

  `/dir/`
+ `/`Amazon S3 버킷로 혹은 거기에서 데이터를 전송할 때 DataSync는 객체 키의 문자를 파일 시스템의 폴더와 동등하게 취급합니다.

**특수 문자**  
필터링에 사용할 특수 문자는 다음과 같습니다.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/filtering.html)

## 필터 예제
<a name="sample-filters"></a>

다음 예제에서는 DataSync에 사용할 수 있는 공통 필터를 보여 줍니다.

**참고**  
필터에 사용할 수 있는 문자 수에는 제한이 있습니다. 자세한 설명은 [DataSync 할당량](datasync-limits.md#task-hard-limits)섹션을 참조하세요.

**소스 위치에서 일부 폴더 제외**  
경우에 따라 소스 위치의 폴더가 대상 위치로 복사 되지 않도록 제외 필터를 원할 수도 있습니다. 예를 들어, 작업 진행 중인 임시 폴더가 있는 경우 다음 필터와 같은 것을 사용할 수 있습니다.

`*/.temp`

비슷한 콘텐츠(예: `/reports2021`및`/reports2022)`) 가 있는 폴더를 제외하려면 다음과 같은 제외 필터를 사용할 수 있습니다.

`/reports*`

파일 계층 구조의 모든 레벨 폴더를 제외하려면 제외 필터를 다음과 같이 사용하면 됩니다.

`*/folder-to-exclude-1`\$1`*/folder-to-exclude-2`

소스 위치의 최상위 레벨 폴더를 제외하려면 제외 필터를 다음과 같이 사용하면 됩니다.

`/top-level-folder-to-exclude-1`\$1`/top-level-folder-to-exclude-2`

**소스 위치에 폴더 서브셋을 포함시킵니다**  
경우에 따라 소스 위치가 대규모 공유가 되면 해당 루트 아래에 있는 폴더의 서브셋만 전송해야 합니다. 특정 폴더를 포함하려면 다음과 같은 포함 필터가 있는 작업 실행을 시작합니다.

`/folder-to-transfer/*`

**특정 파일 유형 제외**  
전송에서 특정 파일 유형을 제외하려면 `*.temp`와 같은 제외 필터가 있는 작업 실행을 생성하면 됩니다.

**지정한 개별 파일만 전송**  
일련의 개별 파일을 전송하려면 다음의 제외 필터가 있는 작업 실행을 시작합니다: “`/folder/subfolder/file1.txt`\$1`/folder/subfolder/file2.txt`\$1`/folder/subfolder/file2.txt`”

## 포함 필터 생성
<a name="include-filters"></a>

포함 필터는 DataSync가 전송할 파일, 객체, 폴더를 정의합니다. 작업을 생성하거나 편집 또는 시작할 때 포함 필터를 구성할 수 있습니다.

DataSync는 포함 필터와 일치하는 파일 및 폴더만 스캔하고 전송합니다. 예를 들어, 소스 폴더의 서브셋만 포함하려면 `/important_folder_1`\$1`/important_folder_2`를 지정하면 됩니다.

**참고**  
포함 필터는 와일드 카드 (\$1) 문자를 패턴에서 오른쪽 끝에 둡니다. 예를 들어, `/documents*`\$1`/code*`는 지원되지만 `*.txt`은 지원되지 않습니다.

### DataSync 콘솔 사용
<a name="include-filters-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) AWS DataSync 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **작업**을 선택한 후 **작업 생성**을 선택합니다.

1. 태스크의 소스 및 대상 위치를 구성합니다.

   자세한 내용은 [데이터를 어디로 전송할 수 있나요 AWS DataSync?](working-with-locations.md) 섹션을 참조하세요.

1. **스캔할 콘텐츠**에서 **특정 파일, 객체 및 폴더**를 선택한 다음 **필터 사용**을 선택합니다.

1. **포함**에서 필터를 입력한 다음(예: 중요한 디렉터리를 포함하려면 `/important_folders`) **패턴 추가**를 선택합니다.

1. 필요에 따라 다른 포함 필터를 추가합니다.

### 사용 AWS CLI
<a name="include-filters-cli"></a>

를 사용할 때는 필터 주위에 작은따옴표(`'`)를 사용하고 필터가 두 개 이상인 경우 \$1(파이프)를 구분 기호로 사용해야 AWS CLI합니다.

다음 예제에서는 `create-task` 명령을 실행할 때 포함 필터 `/important_folder1`과 `/important_folder2` 두 가지를 지정합니다.

```
aws datasync create-task
   --source-location-arn 'arn:aws:datasync:region:account-id:location/location-id' \
   --destination-location-arn 'arn:aws:datasync:region:account-id:location/location-id' \
   --includes FilterType=SIMPLE_PATTERN,Value='/important_folder1|/important_folder2'
```

## 제외 필터 생성
<a name="exclude-filters"></a>

제외 필터는 DataSync가 전송하지 않도록 소스 위치의 파일, 객체 및 폴더를 정의합니다. 작업을 생성하거나 편집 또는 시작할 때 이러한 필터를 구성할 수 있습니다.

**Topics**
+ [기본값으로 제외된 데이터](#directories-ignored-during-transfers)

### 기본값으로 제외된 데이터
<a name="directories-ignored-during-transfers"></a>

DataSync는 일부 데이터가 전송되지 않도록 자동으로 제외합니다.
+ `.snapshot`-DataSync는 `.snapshot`로 끝나는 모든 경로를 무시합니다. 이 경로는 일반적으로 스토리지 시스템의 파일 또는 디렉터리의 특정 시점 스냅샷에 사용됩니다.
+ `/.aws-datasync` 및 `/.awssync`-DataSync는 전송을 용이하게 하기 위해 사용자 위치에 이러한 폴더를 생성합니다.
+ `/.zfs`-Amazon FSx for OpenZFS의 위치에 이 폴더가 표시될 수 있습니다.

### DataSync 콘솔 사용
<a name="adding-exclude-filters"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) AWS DataSync 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **작업**을 선택한 후 **작업 생성**을 선택합니다.

1. 태스크의 소스 및 대상 위치를 구성합니다.

   자세한 내용은 [데이터를 어디로 전송할 수 있나요 AWS DataSync?](working-with-locations.md) 섹션을 참조하세요.

1. **제외**에서 필터를 입력한 다음(예: 임시 폴더를 제외하려면 `*/temp`) **패턴 추가**를 선택합니다.

1. 필요에 따라 다른 제외 필터를 추가합니다.

1. 필요한 경우 [포함 필터](#include-filters)를 추가합니다.

### 사용 AWS CLI
<a name="adding-exclude-filters-cli"></a>

를 사용할 때는 필터 주위에 작은따옴표(`'`)를 사용하고 필터가 두 개 이상인 경우 \$1(파이프)를 구분 기호로 사용해야 AWS CLI합니다.

다음 예제에서는 `create-task` 명령을 실행할 때 제외 필터 `*/temp`과 `*/tmp` 두 가지를 지정합니다.

```
aws datasync create-task \
   --source-location-arn 'arn:aws:datasync:region:account-id:location/location-id' \
   --destination-location-arn 'arn:aws:datasync:region:account-id:location/location-id' \
   --excludes FilterType=SIMPLE_PATTERN,Value='*/temp|*/tmp'
```

# DataSync가 파일 및 객체 메타데이터를 처리하는 방법 이해
<a name="metadata-copied"></a>

AWS DataSync 는 데이터 전송 중에 파일 또는 객체 메타데이터를 보존할 수 있습니다. 메타데이터를 복사하는 방법은 전송 위치 및 전송 위치에서 유사한 유형의 메타데이터를 사용하는지 여부에 따라 달라집니다.

## 시스템 수준 메타데이터
<a name="metadata-copied-system-level"></a>

일반적으로 DataSync는 시스템 수준 메타데이터를 복사하지 않습니다. 예를 들어, SMB 파일 서버에서 전송하는 경우, 파일 시스템 수준에서 구성한 권한은 목적지 스토리지 시스템에 복사되지 않습니다.

예외는 있습니다. Amazon S3와 다른 객체 스토리지 간에 전송할 때 DataSync는 일부[시스템 정의 객체 메타데이터를 복사합니다](#metadata-copied-between-object-s3).

## Amazon S3 전송에서 복사된 메타데이터
<a name="metadata-copied-amazon-s3"></a>

다음 표는 전송에 Amazon S3 위치가 포함된 경우 DataSync가 복사할 수 있는 메타데이터를 설명합니다.

**Topics**
+ [Amazon S3로](#metadata-copied-to-s3)
+ [Amazon S3와 다른 객체 스토리지 사이에서](#metadata-copied-between-object-s3)
+ [Amazon S3와 HDFS 사이에서](#metadata-copied-between-hdfs-s3)

### Amazon S3로
<a name="metadata-copied-to-s3"></a>


| 다음 위치 중 하나에서 복사하는 경우 | 이 위치로 | DataSync는 다음을 복사할 수 있습니다 | 
| --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  |  Amazon S3 사용자 메타데이터로서 복사할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html) Amazon S3 사용자 메타데이터에 저장된 파일 메타데이터는 AWS Storage Gateway을 사용하는 File Gateway에서 NFS와 상호 운용할 수 있습니다. File Gateway를 사용하면 온 프레미스 네트워크에서 DataSync가 Amazon S3로 복사한 데이터에 지연 시간이 짧게 액세스할 수 있습니다. 이 메타데이터는 Lustre용 FSx와도 상호 운용할 수 있습니다. DataSync가 이 메타데이터를 포함하는 객체를 다시 NFS 서버로 복사하는 경우, 파일 메타데이터가 복원됩니다. 메타데이터를 복원하려면 NFS 서버에 상향 조정된 권한을 부여해야 합니다. 자세한 설명은 [NFS 파일 서버를 사용하여 AWS DataSync 전송 구성](create-nfs-location.md)섹션을 참조하세요.  | 

### Amazon S3와 다른 객체 스토리지 사이에서
<a name="metadata-copied-between-object-s3"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)

### Amazon S3와 HDFS 사이에서
<a name="metadata-copied-between-hdfs-s3"></a>


| 이러한 위치 사이에 복사하는 경우 | DataSync는 다음을 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  | Amazon S3 사용자 메타데이터로서 복사할 수 있습니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)HDFS는 UID 및 GID와 같은 숫자 식별자 대신, 문자열을 사용하여 파일 및 폴더 사용자 및 그룹 소유권을 저장합니다. | 

## NFS 전송 시 복사된 메타데이터
<a name="metadata-copied-nfs"></a>

다음 표에서는 NFS(네트워크 파일 시스템)를 사용하는 위치 간에 DataSync가 복사할 수 있는 메타데이터를 설명합니다.


| 이러한 위치 사이에 복사하는 경우 | DataSync는 다음을 복사할 수 있습니다 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  | 

## SMB 전송 시 복사된 메타데이터
<a name="metadata-copied-smb"></a>

다음 표에서는 서버 메시지 블록(SMB)을 사용하는 위치 사이에서 DataSync가 복사할 수 있는 메타데이터를 설명합니다.


| 이러한 위치 사이에 복사하는 경우 | DataSync는 다음을 복사할 수 있습니다 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  | 

## 다른 전송 시나리오에서 복사된 메타데이터
<a name="metadata-copied-different"></a>

DataSync는 이 스토리지 시스템들(대부분 메타데이터 구조가 다름) 간에 복제할 때 다음과 같은 방식으로 메타데이터를 처리합니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)

## DataSync가 기본 POSIX 메타데이터를 적용하는 시기와 방법에 대한 이해
<a name="POSIX-metadata"></a>

DataSync는 다음과 같은 경우에 기본 POSIX 메타데이터를 적용합니다.
+ 사용자 전송의 소스 및 대상 위치에 유사한 메타데이터 구조가 없는 경우
+ 소스 위치에 메타데이터가 누락된 경우

다음 표는 DataSync가 이러한 유형의 전송 중에 기본 POSIX 메타데이터를 적용하는 방법을 설명합니다.


| 소스 | Destination | 파일 권한 | 폴더 권한 | UID | GID | 
| --- | --- | --- | --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  |  0755  | 0755 |  65534  |  65534  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  |  0644  |  0755  |  65534  |  65534  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/metadata-copied.html)  |  0644  |  0755  |  65534  |  65534  | 

1 이전에 DataSync에 의해 적용한 메타데이터가 객체에 없는 경우.

# 에서 복사한 링크 및 디렉터리 AWS DataSync
<a name="special-files-copied"></a>

AWS DataSync 는 전송과 관련된 스토리지 위치에 따라 하드 링크, 심볼 링크 및 디렉터리를 다르게 처리합니다.

## 하드 링크
<a name="special-files-copied-hard-links"></a>

DataSync가 몇 가지 일반적인 전송 시나리오에서 하드 링크를 처리하는 방법은 다음과 같습니다.
+ **NFS 파일 서버, Lustre용 FSx, OpenZFS용 FSx, ONTAP용 FSx(NFS 사용) 및 Amazon EFS 간에 전송하는 경우** 하드 링크가 보존됩니다.
+ **Amazon S3로 전송할 때** 하드 링크로 참조되는 각 기본 파일은 한 번만 전송됩니다. 증분 전송 중에는 S3 버킷에 별도의 객체가 생성됩니다. Amazon S3에서 하드 링크가 변경되지 않은 경우, NFS 파일 서버, Lustre 용 FsX, OpenZFS용 FSx, ONTAP용 FSx(NFS 사용) 또는 Amazon EFS 파일 시스템으로 전송될 때 하드링크는 올바르게 복원됩니다.
+ **Microsoft Azure Blob Storage로 전송할 때** 하드 링크로 참조되는 각 기본 파일은 한 번만 전송됩니다. 증분 전송 시 원본에 새 참조가 있는 경우 blob 저장소에 별도의 객체가 생성됩니다. Azure Blob Storage에서 전송할 때 DataSync는 하드 링크를 개별 파일인 것처럼 전송합니다.
+ **SMB 파일 서버, Windows File Server용 FSx 및 ONTAP용 FSx(SMB 사용) 간에 전송하는 경우** 하드 링크는 지원되지 않습니다. 이러한 상황에서 DataSync가 하드 링크와 마주치게 되면, 전송 작업이 완료되고 오류가 발생합니다. 자세한 내용은 CloudWatch 로그를 확인하세요.
+ **HDFS로 전송할 때** 하드 링크는 지원되지 않습니다. CloudWatch 로그에는 이러한 링크가 건너뛰기 한 것으로 표시됩니다.

## 심볼 링크
<a name="special-files-copied-symbolic-links"></a>

DataSync가 몇 가지 일반적인 전송 시나리오에서 심볼 링크를 처리하는 방법은 다음과 같습니다.
+ **NFS 파일 서버, Lustre용 FSx, OpenZFS용 FSx, ONTAP용 FSx(NFS 사용) 및 Amazon EFS 간에 전송하는 경우** 심볼 링크가 보존됩니다.
+ **Amazon S3로 전송할 때** 링크 대상 경로가 Amazon S3 객체에 저장됩니다. NFS 파일 서버, Lustre 용 FsX, OpenZFS용 FSx, ONTAP용 FSx (NFS 사용) 또는 Amazon EFS 파일 시스템으로 전송될 때 링크는 올바르게 복원됩니다.
+ **Azure Blob Storage로 전송할 때** 심볼 링크는 지원되지 않습니다. CloudWatch 로그에는 이러한 링크가 건너뛰기 한 것으로 표시됩니다.
+ **SMB 파일 서버, Windows File Server의 경우 FSx 및 ONTAP용 FSx(SMB 사용) 간에 전송하는 경우** 심볼 링크는 지원되지 않습니다. DataSync는 심볼 링크 자체를 전송하지 않고 대신 심볼 링크에서 참조하는 파일을 전송합니다. 중복 파일을 인식하고 심볼 링크를 사용하여 중복 제거하려면 대상 파일 시스템에서 중복 제거를 구성해야 합니다.
+ **HDFS로 전송할 때** 심볼 링크는 지원되지 않습니다. CloudWatch 로그에는 이러한 링크가 건너뛰기 한 것으로 표시됩니다.

## 디렉터리
<a name="special-files-copied-directories"></a>

일반적으로 DataSync는 스토리지 시스템 간 전송 시 디렉토리를 보존합니다. 이는 다음과 같은 경우에는 해당되지 않습니다.
+ **Amazon S3로 전송할 때** 디렉터리는 접두사가 있고 포워드 슬래시(`/`)로 끝나는 빈 객체로 표시됩니다.
+ **계층적 네임스페이스 없이 Azure Blob Storage로 전송할 때는** 디렉터리가 존재하지 않습니다. 디렉터리처럼 보이는 것은 개체 이름의 일부일 뿐입니다.

# 파일, 객체 및 메타데이터 처리 방법 구성
<a name="configure-metadata"></a>

위치 간에 전송할 때가 파일, 객체 및 관련 메타데이터를 AWS DataSync 처리하는 방법을 구성할 수 있습니다.

예를 들어 반복 전송의 경우 위치를 동기화하기 위해 대상의 파일을 원본의 변경 내용으로 덮어쓰고 싶을 수 있습니다. 파일 및 폴더에 대한 POSIX 권한, 객체와 관련된 태그, 액세스 제어 목록(ACL) 과 같은 속성을 복사할 수 있습니다.

## 전송 모드 옵션
<a name="task-option-transfer-mode"></a>

DataSync가 초기 복사 후 변경된 데이터(메타데이터 포함)만 전송할지 아니면 작업을 실행할 때마다 모든 데이터를 전송할지를 구성할 수 있습니다. 반복 전송을 계획한다면 이전 작업 실행 이후 변경된 내용만 전송하는 것이 좋을 수 있습니다.


| 콘솔 내 옵션 | API 내 옵션 | 설명 | 
| --- | --- | --- | 
|  **변경된 데이터만 전송**  |  [TransferMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-TransferMode)를 `CHANGED`(으)로 설정  | 최초 전체 전송 후 DataSync는 소스 위치와 대상 위치 간에 서로 다른 데이터와 메타데이터만 복사합니다. | 
|  **모든 데이터 전송**  |  [TransferMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-TransferMode)를 `ALL`(으)로 설정  |  DataSync는 위치 간의 차이를 비교하지 않고 소스의 모든 데이터를 대상으로 복사합니다.  | 

## 파일 및 객체 처리 옵션
<a name="task-option-file-object-handling"></a>

DataSync가 대상 위치의 파일 또는 객체를 처리하는 방식 중 일부를 제어할 수 있습니다. 예를 들어 DataSync는 소스에는 없는 대상 내 파일을 삭제할 수 있습니다.


| 콘솔 내 옵션 | API 내 옵션 | 설명 | 
| --- | --- | --- | 
|  **삭제된 파일 유지**  |  [PreserveDeletedFiles](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-PreserveDeletedFiles)  |  DataSync가 소스에는 존재하지 않는 파일이나 객체를 대상 위치에 유지할지 여부를 지정합니다. Amazon S3 버킷에서 객체를 삭제하도록 작업을 구성하는 경우, 특정 스토리지 클래스에 대한 최소 스토리지 기간 요금이 발생할 수 있습니다. 자세한 내용은 [Amazon S3 전송 시 스토리지 클래스 고려 사항](create-s3-location.md#using-storage-classes)섹션을 참조하세요.  대상의 데이터를 삭제하면서, 동시에 [모든 데이터를 전송](#task-option-transfer-mode)하도록 작업을 구성할 수는 없습니다. 모든 데이터를 전송할 때 DataSync는 목적지 위치를 스캔하지 않으므로 무엇을 삭제해야 할지 모릅니다.   | 
|  **파일 덮어쓰기**  |  [OverwriteMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-OverwriteMode)  |  소스 데이터 또는 메타데이터가 변경되었을 때 DataSync가 대상 위치의 데이터를 수정할지 여부를 지정합니다. 데이터를 덮어쓰도록 작업을 구성하지 않으면 소스 데이터가 다르더라도 대상 데이터를 덮어쓰지 않습니다. 태스크에서 객체를 덮어쓰는 경우, 특정 스토리지 클래스(예: 검색 또는 조기 삭제) 에 대한 추가 요금이 발생할 수 있습니다. 자세한 내용은 [Amazon S3 전송 시 스토리지 클래스 고려 사항](create-s3-location.md#using-storage-classes)섹션을 참조하세요.  | 

## 메타데이터 처리 옵션
<a name="task-option-metadata-handling"></a>

DataSync는 데이터 전송 중에 파일 또는 객체 메타데이터를 보존할 수 있습니다. DataSync가 보존할 수 있는 메타데이터는 관련된 스토리지 시스템과 해당 시스템이 유사한 메타데이터 구조를 사용하는지 여부에 따라 달라집니다.

작업을 구성하기 전에 DataSync가 소스와 대상 위치 간 전송 시 [메타데이터](metadata-copied.md) 및 [특수 파일](special-files-copied.md)을 처리하는 방법을 이해해야 합니다.

**중요**  
DataSync는 Google Cloud Storage 및 IBM Cloud 객체 스토리지와 같은 특정 타사 클라우드 스토리지 시스템으로 보내거나 받는 양방향 전송을 지원하며, 이는 S3과 완전히 호환되지는 않는 방식으로 시스템 메타데이터를 처리합니다. 이러한 전송을 위해 DataSync는 최선을 다해 `ContentType`, `ContentEncoding`, `ContentLanguage`, `CacheControl`와 같은 메타데이터 속성을 복사하고자 시도합니다. 대상 스토리지 시스템이 이러한 속성을 적용하지 않으면 해당 속성은 작업 확인 중에 무시됩니다.


| 콘솔 내 옵션 | API 내 옵션 | 설명 | 
| --- | --- | --- | 
|  **소유권 복사**  | [GID](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Gid) 및 [UID](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Uid) |  DataSync는 파일 소유자의 그룹 ID 및 파일 소유자의 사용자 ID와 같은 POSIX 파일 및 폴더 소유권의 복사 여부를 지정합니다.  | 
|  **복사 권한**  | [PosixPermissions](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-PosixPermissions) |  DataSync는 파일 및 폴더에 대한 POSIX 권한을 소스에서 대상으로 복사할지 여부를 지정합니다.  | 
| 타임스탬프 복사 | [Atime](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Atime) 및 [Mtime](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Mtime) |  DataSync는 타임스탬프 메타데이터를 소스에서 대상으로 복사할지 여부를 지정합니다. 이 옵션은 작업을 두 번 이상 실행해야 하는 경우에 필요합니다.  | 
| 객체 태그 복사 | [ObjectTags](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-ObjectTags) |  DataSync는 객체 스토리지 시스템 간 전송 시 객체와 관련된 태그 보존 여부를 지정합니다.  | 
| 소유권, DACL 및 SACL 복사 | [SecurityDescriptorCopyFlags](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-SecurityDescriptorCopyFlags)를 OWNER\$1DACL\$1SACL(으)로 설정 |  DataSync는 다음을 복사합니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/configure-metadata.html)  | 
| 소유권 및 DACL 복사 | [SecurityDescriptorCopyFlags](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-SecurityDescriptorCopyFlags)를 OWNER\$1DACL(으)로 설정 |  DataSync는 다음을 복사합니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/datasync/latest/userguide/configure-metadata.html) 이 옵션을 선택하면, DataSync는 SACL을 복사하지 않습니다.  | 
| 소유권이나 ACL을 복사하지 마세요. | [SecurityDescriptorCopyFlags](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-SecurityDescriptorCopyFlags)를 NONE(으)로 설정 |  DataSync는 소유권 또는 권한 데이터를 복사하지 않습니다. DataSync가 대상 위치에 쓰는 객체가 DataSync가 대상에 액세스할 수 있도록 보안 인증을 제공한 사용자가 소유합니다. 대상 객체 권한은 대상 서버에 구성된 권한에 따라 결정됩니다.  | 

## 파일, 객체, 메타데이터 처리 옵션 구성
<a name="configure-file-metadata-options"></a>

전송 작업을 생성, 편집, 시작할 때 DataSync가 파일, 객체, 메타데이터를 처리하는 방법을 구성할 수 있습니다.

### DataSync 콘솔 사용
<a name="configure-metadata-console"></a>

다음 지침에서는 작업 생성 시 파일, 객체, 메타데이터 처리 옵션을 구성하는 방법을 설명합니다.

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) AWS DataSync 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **데이터 전송**을 확장한 다음 **작업**을 선택하고 **작업 생성**을 선택합니다.

1. 태스크의 소스 및 대상 위치를 구성합니다.

   자세한 내용은 [데이터를 어디로 전송할 수 있나요 AWS DataSync?](working-with-locations.md) 섹션을 참조하세요.

1. **전송 모드**의 경우, 다음 옵션 중 하나를 선택합니다.
   + **변경된 데이터만 전송**
   + **모든 데이터 전송**

   이러한 옵션에 대한 자세한 내용은 [전송 모드 옵션](#task-option-transfer-mode) 섹션을 참조하세요.

1. DataSync가 소스에 없는 대상 위치의 파일 또는 객체를 유지하도록 하려면 **삭제된 파일 유지**를 선택합니다.

   이 옵션을 선택하지 않고 사용자의 태스크가 Amazon S3에서 객체를 삭제하는 경우, 특정 스토리지 클래스에 대한 최소 스토리지 기간 요금이 발생할 수 있습니다. 자세한 내용은 [Amazon S3 전송 시 스토리지 클래스 고려 사항](create-s3-location.md#using-storage-classes)섹션을 참조하세요.
**주의**  
이 옵션을 선택 취소하고 **모든 데이터 전송**을 활성화할 수는 없습니다. 모든 데이터를 전송할 때 DataSync는 목적지 위치를 스캔하지 않으므로 무엇을 삭제해야 할지 모릅니다.

1. 소스 데이터 또는 메타데이터가 변경되었을 때 DataSync가 대상 위치의 데이터를 수정하도록 하려면 **파일 덮어쓰기**를 선택합니다.

   태스크에서 객체를 덮어쓰는 경우, 특정 스토리지 클래스(예: 검색 또는 조기 삭제) 에 대한 추가 요금이 발생할 수 있습니다. 자세한 내용은 [Amazon S3 전송 시 스토리지 클래스 고려 사항](create-s3-location.md#using-storage-classes)섹션을 참조하세요.

   이 옵션을 선택하지 않으면, 소스 데이터가 다르더라도 대상 데이터를 덮어쓰지 않습니다.

1. **전송 옵션**에서 DataSync가 메타데이터를 처리하는 방법을 선택합니다. 이러한 옵션에 대한 자세한 내용은 [메타데이터 처리 옵션](#task-option-metadata-handling)을 참조하세요.
**중요**  
콘솔에 표시되는 옵션은 작업의 소스 및 대상 위치에 따라 달라집니다. 이러한 옵션을 보려면 **추가 설정**을 확장해야 할 수 있습니다.
   + **소유권 복사**
   + **복사 권한**
   + **타임스탬프 복사**
   + **객체 태그 복사**
   + **소유권, DACL 및 SACL 복사**
   + **소유권 및 DACL 복사**
   + **소유권이나 ACL을 복사하지 마세요.**

### DataSync API 사용
<a name="configure-file-metadata-options-api"></a>

다음 작업 중 하나와 함께 `Options` 파라미터를 사용하여 파일, 객체, 메타데이터 처리 옵션을 구성할 수 있습니다.
+ [CreateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html)
+ [StartTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
+ [UpdateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html)

# 가 데이터 무결성을 AWS DataSync 확인하는 방법 구성
<a name="configure-data-verification-options"></a>

전송 중에는 체크섬 확인을 AWS DataSync 사용하여 위치 간에 복사하는 데이터의 무결성을 확인합니다. 전송이 끝날 때 추가 확인을 수행하도록 DataSync를 구성할 수도 있습니다.

## 데이터 확인 옵션
<a name="data-verification-options"></a>

다음 정보를 사용하면 DataSync가 이러한 추가 검사를 수행할지 여부와 방법을 결정하는 데 도움이 됩니다.


| 콘솔 옵션 | API 옵션 | 설명 | 
| --- | --- | --- | 
|  **전송된 데이터만 확인**(권장)  |  [VerifyMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-VerifyMode)를 `ONLY_FILES_TRANSFERRED`(으)로 설정  |  DataSync는 소스 위치에서 전송된 데이터(메타데이터 포함)의 체크섬을 계산합니다. 전송이 끝날 때, DataSync가 이 체크섬을 대상에서의 동일한 데이터에 대해 계산된 체크섬과 비교합니다. S3 Glacier Flexible Retrieval 또는 S3 Glacier Deep Archive 스토리지 클래스로 전송하는 경우, 이 옵션을 사용하는 것이 좋습니다. 자세한 내용은 [Amazon S3 전송 시 스토리지 클래스 고려 사항](create-s3-location.md#using-storage-classes) 단원을 참조하십시오.  | 
|  **모든 데이터 확인**  |  [VerifyMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-VerifyMode)를 `POINT_IN_TIME_CONSISTENT`(으)로 설정  |  전송 종료 시 DataSync는 전체 소스와 대상을 검사하여 두 위치가 완전히 동기화되었는지 확인합니다.  작업이 [확장 모드](choosing-task-mode.md)를 사용하는 경우 지원되지 않습니다.  [매니페스트](transferring-with-manifest.md)를 사용하는 경우 DataSync는 매니페스트에 나열된 항목만 스캔하고 확인합니다. S3 Glacier Flexible Retrieval 또는 S3 Glacier Deep Archive 스토리지 클래스로 전송하는 경우 이 옵션을 사용할 수 없습니다. 자세한 내용은 [Amazon S3 전송 시 스토리지 클래스 고려 사항](create-s3-location.md#using-storage-classes) 단원을 참조하십시오.  | 
| 전송 후 데이터 확인 안 함 |  [VerifyMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-VerifyMode)를 `NONE`(으)로 설정  | DataSync는 전송 중에만 데이터 무결성 검사를 수행합니다. 다른 옵션과 달리 전송이 끝날 때 추가 확인은 없습니다. | 

## 데이터 확인 구성
<a name="configure-data-verification"></a>

작업을 생성하거나, 작업을 업데이트하거나, 작업 실행을 시작할 때 데이터 확인 옵션을 구성할 수 있습니다.

### DataSync 콘솔 사용
<a name="configure-data-verification-options-console"></a>

다음 지침에서는 태스크를 생성 시 데이터 확인 옵션을 구성하는 방법을 설명합니다.

**콘솔을 사용하여 데이터 검사를 구성하려면**

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) AWS DataSync 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **데이터 전송**을 확장한 다음 **작업**을 선택하고 **작업 생성**을 선택합니다.

1. 태스크의 소스 및 대상 위치를 구성합니다.

   자세한 내용은 [데이터를 어디로 전송할 수 있나요 AWS DataSync?](working-with-locations.md) 섹션을 참조하세요.

1. **확인**에서 다음 중 하나를 선택합니다.
   + **전송된 데이터만 확인**(권장)
   + **모든 데이터 확인**
   + **전송 후 데이터 확인 안 함**

### DataSync API 사용
<a name="configure-data-verification-options-api"></a>

다음 작업을 통해 `VerifyMode` 파라미터를 사용하여 DataSync가 데이터를 검사하는 방법을 구성할 수 있습니다.
+ [CreateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html)
+ [UpdateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html)
+ [StartTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)

# AWS DataSync 작업에 대한 대역폭 제한 설정
<a name="configure-bandwidth"></a>

 AWS DataSync 작업 및 각 실행에 대한 네트워크 대역폭 제한을 구성할 수 있습니다.

## 태스크의 대역폭 제한
<a name="configure-bandwidth-create"></a>

태스크를 생성, 편집 또는 시작할 때 대역폭 제한을 설정합니다.

### DataSync 콘솔 사용
<a name="configure-bandwidth-create-console"></a>

다음 지침은 태스크 생성 시 태스크의 대역폭 제한을 구성하는 방법을 설명합니다.

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) AWS DataSync 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **데이터 전송**을 확장한 다음 **작업**을 선택하고 **작업 생성**을 선택합니다.

1. 태스크의 소스 및 대상 위치를 구성합니다.

   자세한 내용은 [데이터를 어디로 전송할 수 있나요 AWS DataSync?](working-with-locations.md) 섹션을 참조하세요.

1. **대역폭 제한**에서 다음 중 하나를 선택합니다.
   + 각 태스크 실행에 대하여 모든 사용 가능한 네트워크 대역폭을 사용하려면 **사용하기 가능** 을 선택합니다.
   + **대역폭 제한 설정(MiB/s)** 을 선택하고 DataSync가 각 태스크 실행에 사용할 최대 대역폭을 입력합니다.

### DataSync API 사용
<a name="configure-bandwidth-create-api"></a>

다음 태스크 중 하나에서 `BytesPerSecond`파라미터를 사용하여 태스크의 대역폭 제한을 구성할 수 있습니다.
+ [CreateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html)
+ [UpdateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html)
+ [StartTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)

## 태스크 실행을 위한 대역폭 조절
<a name="adjust-bandwidth-throttling"></a>

실행 중이거나 대기 중인 태스크 실행의 대역폭 제한을 수정할 수 있습니다.

### DataSync 콘솔 사용
<a name="adjust-bandwidth-throttling-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) AWS DataSync 콘솔을 엽니다.

1. 탐색 창에서 **데이터 전송**을 확장한 다음 **태스크**를 선택합니다.

1. 태스크를 선택한 다음 **기록**을 선택하여 태스크 실행을 확인합니다.

1. 수정할 태스크 실행을 선택한 후 **편집**을 선택합니다.

1. 대화 상자에서 다음 중 하나를 수행합니다.
   + 태스크 실행에 모든 사용 가능한 네트워크 대역폭을 사용하려면 **사용하기 가능**을 선택합니다.
   + **대역폭 제한 설정(MiB/s)**을 선택하고 DataSync가 태스크 실행에 사용할 최대 대역폭을 입력합니다.

1. **변경 사항 저장**을 선택합니다.

   새 대역폭 제한은 60초 이내에 적용됩니다.

### DataSync API 사용
<a name="adjust-bandwidth-throttling-api"></a>

[UpdateTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTaskExecution.html)을 가지고 `BytesPerSecond`파라미터를 사용하여 실행 중이거나 대기중인 태스크 실행에 대한 대역폭 제한을 수정할 수 있습니다.

# AWS DataSync 작업 실행 시 예약
<a name="task-scheduling"></a>

스토리지 위치 간에 데이터를 정기적으로 전송하도록 AWS DataSync 작업을 설정할 수 있습니다.

## DataSync 작업 예약 작동 방식
<a name="how-task-scheduling-works"></a>

예약된 DataSync 작업은 사용자가 지정한 빈도(최소 1시간 간격)로 실행됩니다. Cron 또는 Rate 표현식을 사용하여 작업 일정을 생성할 수 있습니다.

**중요**  
1시간 이내의 간격으로 작업이 실행되도록 예약할 수 없습니다.

**cron 표현식 사용**  
특정 시간 및 날짜에 실행되는 작업 일정에 Cron 표현식을 사용합니다. 예를 들어 일요일과 수요일 오후 12:00 UTC에 AWS CLI에서 실행되는 작업 일정을 구성하는 방법은 다음과 같습니다.  

```
cron(0 12 ? * SUN,WED *)
```

**Rate 표현식 사용**  
12시간마다와 같이 정기적으로 실행되는 작업 일정에 Rate 표현식을 사용합니다. 예를 들어 12시간마다 AWS CLI에서 실행되는 작업 일정을 구성하는 방법은 다음과 같습니다.  

```
rate(12 hours)
```

**작은 정보**  
Cron 표현식 및 Rate 표현식 구문에 대한 자세한 내용은 [https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html)를 참조하세요.

## DataSync 작업 일정 생성
<a name="configure-task-schedule"></a>

DataSync 콘솔, AWS CLI 또는 DataSync API를 사용하여 작업 실행 빈도를 예약할 수 있습니다.

### DataSync 콘솔 사용
<a name="configure-task-schedule-console"></a>

다음 지침은 작업을 생성할 때 일정을 설정하는 방법을 설명합니다. 작업을 편집할 경우 나중에 일정을 수정할 수 있습니다.

콘솔에서 일부 예약 옵션을 사용하면 작업이 실행되는 정확한 시간(예: 매일 오후 10시 30분)을 지정할 수 있습니다. 이러한 옵션에 시간을 포함하지 않으면 작업는 작업을 생성(또는 업데이트)하는 시점에 실행됩니다.

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)에서 AWS DataSync콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **데이터 전송**을 확장한 다음 **작업**을 선택하고 **작업 생성**을 선택합니다.

1. 태스크의 소스 및 대상 위치를 구성합니다.

   자세한 내용은 [데이터를 어디로 전송할 수 있나요 AWS DataSync?](working-with-locations.md) 섹션을 참조하세요.

1. 일정 **빈도**에서 다음 중 하나를 수행합니다.
   + 작업이 일정에 따라 실행되지 않게 하려면 **예약되지 않음**을 선택합니다.
   + **시간별**을 선택한 다음 작업을 실행할 시간 중 분을 선택합니다.
   + **일별**을 선택하고 작업을 실행할 UTC 시간을 입력합니다.
   + **주별** 및 요일을 선택하고 작업을 실행할 UTC 시간을 입력합니다.
   + **요일**을 선택하고 특정 요일을 선택한 다음 작업을 실행할 UTC 시간을 HH:MM 형식으로 입력합니다.
   + **사용자 지정**을 선택한 다음 **Cron 표현식** 또는 **Rate 표현식**을 선택합니다. 최소 1시간 간격으로 작업 일정을 입력합니다.

### AWS CLI 사용
<a name="configure-task-schedule-api"></a>

`--schedule` 파라미터를 `create-task`, `update-task` 또는 `start-task-execution` 명령과 함께 사용하여 DataSync 작업의 일정을 생성할 수 있습니다.

다음 지침은 `create-task` 명령을 사용하여 이 작업을 수행하는 방법을 설명합니다.

1. 다음 `create-task`명령을 복사합니다.

   ```
   aws datasync create-task \
     --source-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh \
     --destination-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-abcdefgh12345678 \
     --schedule '{
       "ScheduleExpression": "cron(0 12 ? * SUN,WED *)"
     }'
   ```

1. `--source-location-arn` 파라미터에서 데이터를 전송하는 소스 위치의 Amazon 리소스 이름(ARN)을 지정합니다.

1. `--destination-location-arn` 파라미터에서 데이터를 전송하는 대상 위치의 ARN을 지정합니다.

1. `--schedule` 파라미터에서 일정에 대한 Cron 또는 Rate 표현식을 지정합니다.

   이 예제에서 Cron 표현식 `cron(0 12 ? * SUN,WED *)`은 매주 일요일과 수요일 오후 12:00 UTC에 실행되는 작업 일정을 설정합니다.

1. `create-task` 명령을 실행하여 일정이 있는 작업을 생성합니다.

## DataSync 작업 일정 일시 중지
<a name="pause-task-schedule"></a>

DataSync 작업 일정을 일시 중지해야 하는 상황이 있을 수 있습니다. 예를 들어 작업 문제를 해결하거나 스토리지 시스템에서 유지 관리를 수행하려면 반복 전송을 일시적으로 비활성화해야 할 수 있습니다.

DataSync는 다음과 같은 이유로 작업 일정을 자동으로 비활성화할 수 있습니다.
+ 동일한 오류로 작업이 반복적으로 실패합니다.
+ 작업에서 사용 중인 [AWS 리전을 비활성화](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)합니다.

### DataSync 콘솔 사용
<a name="pause-scheduled-task-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)에서 AWS DataSync콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **데이터 전송**을 확장한 다음, **작업**을 선택합니다.

1. 일정을 일시 중지하려는 작업을 선택한 다음 **편집**을 선택합니다.

1. **일정**에서 **일정 활성화**를 끕니다. **변경 사항 저장**을 선택합니다.

### AWS CLI 사용
<a name="pause-scheduled-task-cli"></a>

1. 다음 `update-task`명령을 복사합니다.

   ```
   aws datasync update-task \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh \
     --schedule '{
       "ScheduleExpression": "cron(0 12 ? * SUN,WED *)",
       "Status": "DISABLED"
     }'
   ```

1. `--task-arn` 파라미터에서 일정을 일시 중지하려는 작업의 ARN을 지정합니다.

1. `--schedule` 파라미터에 관하여 다음을 수행합니다.
   + `ScheduleExpression`에서 일정에 대한 Cron 또는 Rate 표현식을 지정합니다.

     이 예제에서 표현식 `cron(0 12 ? * SUN,WED *)`은 매주 일요일과 수요일 오후 12:00 UTC에 실행되는 작업 일정을 설정합니다.
   + `Status`에서 작업 일정을 일시 중지하도록 `DISABLED`로 지정합니다.

1. `update-task` 명령을 실행합니다.

1. 일정을 재개하려면 `Status`를 `ENABLED`로 설정하여 동일한 `update-task` 명령을 실행합니다.

## DataSync 작업 일정 상태 확인
<a name="check-scheduled-task"></a>

DataSync 작업 일정이 활성화되어 있는지 확인할 수 있습니다.

### DataSync 콘솔 사용
<a name="check-scheduled-task-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)에서 AWS DataSync콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **데이터 전송**을 확장한 다음, **작업**을 선택합니다.

1. **일정** 열에서 작업의 일정이 활성화되어 있는지 비활성화되어 있는지 확인합니다.

### AWS CLI 사용
<a name="check-scheduled-task-cli"></a>

1. 다음 `describe-task`명령을 복사합니다.

   ```
   aws datasync describe-task \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh
   ```

1. `--task-arn` 파라미터에서 정보를 원하는 작업의 ARN을 지정합니다.

1. `describe-task` 명령을 실행합니다.

일정을 포함하여 작업에 대한 세부 정보를 제공하는 응답을 받습니다. (다음 예제는 주로 작업 일정 구성에 초점을 맞추고 전체 `describe-task` 응답을 표시하지 않습니다.)

이 예제는 작업의 일정이 수동으로 비활성화되었음을 보여줍니다. DataSync `SERVICE`에 의해 일정이 비활성화된 경우 작업이 계속 실패하는 이유를 이해하는 데 도움이 되는 `DisabledReason`에 대한 오류 메시지가 표시됩니다. 자세한 내용은 [AWS DataSync 문제 해결](troubleshooting-datasync.md) 섹션을 참조하세요.

```
{
    "TaskArn": "arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh",
    "Status": "AVAILABLE",
    "Schedule": {
        "ScheduleExpression": "cron(0 12 ? * SUN,WED *)",
        "Status": "DISABLED",
        "StatusUpdateTime": 1697736000,
        "DisabledBy": "USER",
        "DisabledReason": "Manually disabled by user."
    },
    ...
}
```

# AWS DataSync 작업에 태그 지정
<a name="tagging-tasks"></a>

*태그*는 AWS DataSync 리소스를 관리, 필터링 및 검색하는 데 도움이 되는 키-값 페어입니다. 각 DataSync 태스크 및 태스크 실행에 최대 50개의 태그를 추가할 수 있습니다.

예를 들어, 대규모 데이터 마이그레이션을 위한 태스크를 생성하고 해당 태스크에 **Project**키와 값**Large Migration**을 태그할 수 있습니다. 마이그레이션을 더 체계적으로 구성하려면 한 번의 태스크 실행에 **Transfer Date**키와 값을 태그로 지정할 수 있습니다(**May 2021**후속 태그 실행에는 **June 2021**, **July 2021**등의 태그가 지정될 수 있음).

## DataSync 작업 태그 지정
<a name="tagging-tasks-console"></a>

태스크를 생성할 때만 DataSync 태스크에 태그를 지정할 수 있습니다.

### DataSync 콘솔 사용
<a name="tagging-tasks-console-steps"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) AWS DataSync 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **데이터 전송**을 확장한 다음 **작업**을 선택하고 **작업 생성**을 선택합니다.

1. 태스크의 소스 및 대상 위치를 구성합니다.

   자세한 내용은 [데이터를 어디로 전송할 수 있나요 AWS DataSync?](working-with-locations.md) 섹션을 참조하세요.

1. **설정 구성** 페이지에서 **새 태그 추가**를 선택하여 작업에 태그를 지정합니다.

### 사용 AWS CLI
<a name="tagging-tasks-cli-steps"></a>

1. 다음 `create-task`명령을 복사합니다.

   ```
   aws datasync create-task \
       --source-location-arn 'arn:aws:datasync:region:account-id:location/source-location-id' \
       --destination-location-arn 'arn:aws:datasync:region:account-id:location/destination-location-id' \
       --tags Key=tag-key,Value=tag-value
   ```

1. 명령에서 다음 파라미터를 지정합니다.
   + `--source-location-arn`- 전송할 때 소스 위치의 Amazon 리소스 이름(ARN) 을 지정합니다.
   + `--destination-location-arn` – 전송할 대상 위치의 ARN을 지정합니다.
   + `--tags` – 태스크에 적용할 태그를 지정합니다.

     태그가 두 개 이상인 경우 각 키-값 쌍을 공백으로 구분하세요.

1. (선택 사항) 전송 시나리오에 적합한 다른 파라미터를 지정하세요.

   `--options`목록의 경우, [create-task](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/create-task.html) 명령을 참조하세요.

1. `create-task` 명령을 실행합니다.

   방금 생성한 태스크를 보여주는 응답을 받게 됩니다.

   ```
   {
       "TaskArn": "arn:aws:datasync:us-east-2:123456789012:task/task-abcdef01234567890"
   }
   ```

이 태스크에 추가한 태그를 보려면 [list-tags-for-resource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/list-tags-for-resource.html) 명령을 사용할 수 있습니다.

## DataSync 작업 실행 태그 지정
<a name="tagging-task-executions-console"></a>

DataSync 태스크의 각 실행에 태그를 지정할 수 있습니다.

태스크에 이미 태그가 있는 경우, 태스크 실행 시 태그 사용에 관한 다음 사항을 기억하세요.
+ 콘솔에서 태스크를 시작하면 사용자가 생성한 태그가 태스크 실행에 자동으로 적용됩니다. 그러나 `aws:`로 시작하는 시스템 생성 태그는 적용되지 않습니다.
+ DataSync API 또는를 사용하여 작업을 시작하면 AWS CLI해당 태그가 작업 실행에 자동으로 적용되지 않습니다.

### DataSync 콘솔 사용
<a name="tagging-task-executions-console"></a>

태스크 실행에서 태그를 추가, 편집 또는 제거하려면 우선 적용 옵션을 사용하여 태스크를 시작해야 합니다.

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) AWS DataSync 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **데이터 전송**을 확장한 다음, **태스크**를 선택합니다.

1. 작업을 선택합니다.

1. **시작**을 선택하고, 다음 옵션 중 하나를 선택합니다.
   + **기본값으로 시작** - 태스크과 관련된 모든 태그를 적용합니다.
   + **우선 적용 옵션으로 시작** - 이 특정 태스크 실행에 대한 태그를 추가, 편집 또는 제거할 수 있습니다.

### 사용 AWS CLI
<a name="tagging-task-executions-cli"></a>

1. 다음 `start-task-execution`명령을 복사합니다.

   ```
   aws datasync start-task-execution \
       --task-arn 'arn:aws:datasync:region:account-id:task/task-id' \
       --tags Key=tag-key,Value=tag-value
   ```

1. 명령에서 다음 파라미터를 지정합니다.
   + `--task-arn`- 시작하려는 태스크의 ARN을 지정합니다.
   + `--tags`— 이 태스크 실행에 적용할 태그를 지정합니다.

     태그가 두 개 이상인 경우 각 키-값 쌍을 공백으로 구분하세요.

1. (선택 사항) 사용자의 상황 적합한 다른 파라미터를 지정하십시오.

   자세한 내용은[start-task-execution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/start-task-execution.html) 단원을 참조하십시오.

1. `start-task-execution` 명령을 실행합니다.

   방금 시작한 태스크를 보여주는 응답을 받게 됩니다.

   ```
   {
       "TaskExecutionArn": "arn:aws:datasync:us-east-2:123456789012:task/task-abcdef01234567890"
   }
   ```

이 태스크에 추가한 태그를 보려면 [list-tags-for-resource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/list-tags-for-resource.html) 명령을 사용할 수 있습니다.