

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Snowball Edge へのデータ転送パフォーマンスを向上させるための小さなファイルのバッチ処理
<a name="batching-small-files"></a>

各コピーオペレーションには、暗号化のために多少のオーバーヘッドがあります。小さなファイルを AWS Snowball Edge デバイスに転送するプロセスを高速化するために、それらを 1 つのアーカイブにまとめてバッチ処理できます。ファイルをバッチ処理する際に、サポートされるアーカイブ形式のいずれかでファイルがバッチ処理済みの場合は、Amazon S3 へのインポート時に自動抽出されます。

通常は、1 MB 以下のファイルがバッチ処理に含まれている必要があります。バッチ処理に含めるファイル数にハード制限はありませんが、バッチ処理に 10000 ファイルを上限とすることが推奨されます。バッチに 10 万以上のファイルがあると、デバイスに戻った後で Amazon S3 にインポートされるファイルの速度に影響します。各バッチの合計サイズは 100 GB 以下にすることをお勧めします。

ファイルのバッチ処理は手動によって管理するプロセスです。ファイルをバッチ処理したら、 `--metadata snowball-auto-extract=true`オプションを指定して コマンドを使用して AWS CLI `cp` Snowball Edge デバイスに転送します。`snowball-auto-extract=true` を指定すると、バッチ処理されたファイルのサイズが 100 GB 以下であれば、データが Amazon S3 にインポートされる際に、アーカイブファイルのコンテンツが自動的に抽出されます。

**注記**  
100 GB を超えるバッチは、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
     ```
**注記**  
または、任意のアーカイブユーティリティを使用して 1 つ以上の大きなアーカイブにファイルをバッチ処理することもできます。ただし、この方法では、アーカイブを 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* ウェブサイトからダウンロードできます。  
7 ZIP は、 7ZIP ウェブサイトからダウンロードできます。

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` フラグを設定することが重要です。設定しないと、Snowball Edge は、Amazon S3 にインポートされるときにデータを抽出しません。

ファイル `a.txt`、`b.txt`、`c.txt` を含む /Logs/April/ のフォルダ構造がある場合、ステップ 3 の例を使用します。このアーカイブファイルが /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
```