

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

# 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)