

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

# Snowball Edge로의 데이터 전송 성능을 개선하기 위해 작은 파일 일괄 처리
<a name="batching-small-files"></a>

암호화 때문에 각 복사 작업에는 일정한 오버헤드가 있어야 합니다. 작은 파일을 AWS Snowball Edge 디바이스로 전송하는 프로세스의 속도를 높이려면 단일 아카이브에서 함께 배치 처리할 수 있습니다. 파일을 함께 배치 처리할 때 지원되는 아카이브 형식 중 하나로 배치 처리가 된 경우 Amazon S3로 파일을 가져올 때 자동으로 압축이 풀릴 수 있습니다.

일반적으로 크기가 1MB 이하인 파일이 배치에 포함됩니다. 배치 안에 보유할 수 있는 파일의 수에 대한 하드 제한은 없습니다. 하지만 약 10,000개의 파일로 배치를 제한하는 것이 좋습니다. 배치에 100,000개 이상의 파일이 있는 경우 디바이스를 반환한 이후 파일을 Amazon S3로 가져오는 속도에 영향을 줄 수 있습니다. 각 배치의 총 크기는 100GB를 넘지 않는 것이 좋습니다.

파일 배치 처리는 직접 관리하는 수동 프로세스입니다. 파일을 일괄 처리한 후 `--metadata snowball-auto-extract=true` 옵션과 AWS CLI `cp` 함께 명령을 사용하여 Snowball Edge 디바이스로 전송합니다. `snowball-auto-extract=true`를 지정하면 배치 처리된 파일의 크기가 100GB를 넘지 않는 한, 데이터를 Amazon S3로 가져올 때 아카이브된 파일의 내용 압축이 자동으로 풀립니다.

**참고**  
100GB를 넘는 모든 배치는 Amazon S3로 가져올 때 압축이 풀리지 않습니다.

**작은 파일을 배치 처리하려면**

1. 작은 파일을 어떤 형식으로 배치 처리할지 결정합니다. 자동 압축 풀기 기능은 `TAR`, `ZIP` 및 `tar.gz` 형식을 지원합니다.

1. 함께 배치 처리하고자 하는 파일의 크기 및 전체 파일 수를 포함하여 어떤 작은 파일을 함께 배치 처리하고자 하는지 식별합니다.

1. 명령줄의 파일을 아래 예시와 같이 일괄 처리합니다.
   + Linux의 경우 디바이스로 파일을 전송하는 데 사용되는 것과 동일한 명령줄로 파일을 배치 처리합니다.

     ```
     tar -cf - {{/Logs/April}} | aws s3 cp - {{s3://amzn-s3-demo-bucket/batch01.tar}} --metadata snowball-auto-extract=true --endpoint {{http://192.0.2.0:8080}}
     ```
**참고**  
또는 원하는 아카이브 유틸리티를 사용하여 파일을 하나 이상의 큰 아카이브로 배치 처리할 수 있습니다. 그러나이 접근 방식을 사용하려면 아카이브를 Snowball Edge로 전송하기 전에 아카이브를 저장하기 위한 추가 로컬 스토리지가 필요합니다.
   + Windows의 경우 모든 파일이 명령이 실행되는 동일한 디렉터리에 있는 경우 다음 예시 명령을 사용하여 파일을 일괄 처리합니다.

     ```
     7z a -tzip -so "test" | aws s3 cp - {{s3://amzn-s3-demo-bucket/batch01.zip}} --metadata snowball-auto-extract=true --endpoint {{http://192.0.2.0:8080}}
     ```

     명령이 실행되는 다른 디렉터리의 파일을 일괄 처리하려면 다음 예시 명령을 사용합니다.

     ```
     7z a -tzip -so "test" "{{c:\temp}}" | aws s3 cp - {{s3://amzn-s3-demo-bucket/batch01.zip}} --metadata snowball-auto-extract=true --endpoint {{http://10.x.x.x:8080}}
     ```
**참고**  
Microsoft Windows 2016의 경우 tar를 사용할 수 없지만 *Windows용 Tar* 웹 사이트에서 다운로드할 수 있습니다.  
7ZIP 웹 사이트에서 7 ZIP을 다운로드할 수 있습니다.

1. Snowball Edge를 사용하여 Amazon S3로 전송하고자 하는 모든 작은 파일을 아카이브할 때까지 반복합니다.

1. 아카이브된 파일을 Snowball로 전송합니다. 데이터를 자동으로 추출하고 1단계에서 앞서 언급한 지원되는 아카이브 형식 중 하나를 사용한 경우 `--metadata snowball-auto-extract=true` 옵션과 함께 명령을 사용합니다 AWS CLI `cp`.
**참고**  
보관되지 않은 파일이 있는 경우 이 명령을 사용하면 안 됩니다.

아카이브 파일을 만들 때 추출 시 현재 데이터 구조가 유지됩니다. 즉, 파일 및 폴더가 포함된 아카이브 파일을 생성하면 Snowball Edge는 Amazon S3로의 수집 프로세스 중에 이 파일을 다시 생성합니다.

아카이브 파일은 파일이 저장되어 있는 동일한 디렉터리에 추출되며 그에 따라 폴더 구조가 구축됩니다. 아카이브 파일을 복사할 때는 `--metadata snowball-auto-extract=true` 플래그를 설정하는 것이 중요하다는 점을 명심하세요. 그렇지 않으면 Amazon S3로 데이터를 가져올 때 Snowball Edge는 데이터를 추출하지 않습니다.

3단계의 예시를 사용하여, /Logs/April/의 폴더 구조에 파일 `a.txt`, `b.txt`, `c.txt` 등이 들어 있는 경우 이 아카이브 파일을 /amzn-s3-demo-bucket/의 루트에 배치한 경우 추출 후 데이터는 다음과 같이 표시됩니다.

```
/amzn-s3-demo-bucket/Logs/April/a.txt
/amzn-s3-demo-bucket/Logs/April/b.txt
/amzn-s3-demo-bucket/Logs/April/c.txt
```



아카이브 파일을 /amzn-s3-demo-bucket/Test/에 배치한 경우 추출은 다음과 같이 표시됩니다.

```
/amzn-s3-demo-bucket/Test/Logs/April/a.txt
/amzn-s3-demo-bucket/Test/Logs/April/b.txt
/amzn-s3-demo-bucket/Test/Logs/April/c.txt
```