

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

# 매니페스트를 사용하여 특정 파일 또는 객체 전송
<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)합니다.