

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

# 필터를 사용하여 특정 파일, 객체 및 폴더 전송
<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'
```