小さなファイルのバッチ処理 - AWS Snowball Edge 開発者ガイド

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

小さなファイルのバッチ処理

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

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

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

注記

100 GB を超えるバッチは、Amazon S3 にインポートされる際に抽出されません。

小さなファイルのバッチ処理をするには
  1. バッチ処理をする小さなファイルの形式を決めます。自動抽出機能は、TARZIPtar.gz 形式でサポートされます。

  2. サイズやまとめてバッチ処理するファイルの数を含め、まとめてバッチ処理する小さなファイルを特定します。

  3. 次の例に示すように、コマンドラインでファイルをバッチ処理します。

    • Linux では、デバイスにファイルを転送するときに使用するのと同じコマンドラインで、ファイルのバッチ処理ができます。

      tar -cf - /Logs/April | aws s3 cp - s3://mybucket/batch01.tar --metadata snowball-auto-extract=true --endpoint http://192.0.2.0:8080
      注記

      または、任意のアーカイブユーティリティを使用して 1 つ以上の大きなアーカイブにファイルをバッチ処理することもできます。ただし、この方法では、Snowball に転送する前にアーカイブを保存するための追加のローカルストレージが必要となります。

    • Windows では、すべてのファイルがコマンドの実行元と同じディレクトリにある場合は、以下のコマンド例を使用してファイルをバッチ処理します。

      7z a -tzip -so "test" | aws s3 cp - s3://mybucket/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://mybucket/batch01.zip --metadata snowball-auto-extract=true --endpoint http://10.x.x.x:8080
      注記

      Microsoft Windows 2016の場合、Tar を利用できませんが、Windows 用 Tar ウェブサイトからダウンロードできます。

      7 ZIP は、 7ZIP ウェブサイトからダウンロードできます。

  4. Snowball Edge を使用して、Amazon S3 に転送する小さなファイルをすべてアーカイブするまで、操作を繰り返します。

  5. アーカイブしたファイルを Snowball に転送します。前述のステップ 1 でサポートされるアーカイブ形式のいずれかを使用してデータを自動抽出する場合は、AWS CLI cp コマンドを --metadata snowball-auto-extract=true オプションで使用します。

    注記

    非アーカイブファイルがある場合は、このコマンドを使用しないでください。

アーカイブファイルを作成する場合、抽出によって現在のデータ構造が維持されます。つまり、ファイルとフォルダを含むアーカイブファイルを作成すると、Snowball Edge は Amazon S3 プロセスへの取り込み中にこれを再作成します。

アーカイブファイルは、保存されているディレクトリと同じディレクトリに抽出され、それに応じてフォルダ構造が構築されます。アーカイブファイルをコピーするときは、フラグを設定するのが重要であることに注意してください--metadata snowball-auto-extract=true。設定しないと、Snowball は、Amazon Snowball Edge は、Amazon S3 にインポートされたときにデータを抽出しません。

ファイル a.txtb.txtc.txt を含む /Logs/April/ のフォルダ構造がある場合、ステップ 3 の例を使用します。このアーカイブファイルが /mybucket/ のルートに配置されている場合、抽出後のデータは次のようになります。

/mybucket/Logs/April/a.txt /mybucket/Logs/April/b.txt /mybucket/Logs/April/c.txt

アーカイブファイルが /mybucket/test/ に配置されている場合、抽出は次のようになります。

/mybucket/Test/Logs/April/a.txt /mybucket/Test/Logs/April/b.txt /mybucket/Test/Logs/April/c.txt