Posted at

AWS S3からGoogleCloudStorageへ直接転送はオススメしない

More than 3 years have passed since last update.


やりたいこと

AWS S3に格納されているファイルをGoogleCloudStorageにコピーしたい。

どうするのが速いか。


どっちがいいか

AWS S3 に格納されているファイルを、GoogleCloudStorage にコマンドラインで転送する。

どっちもファイル数に応じた並列処理はせず、フォルダごと処理。

1. 直接転送

gsutil -q cp -r s3://bucket/target_folder gs://bucket/

2. 間接転送(ローカル経由)

s3cmd --no-progress -f -r get s3://bucket/target_folder .

gsutil -q cp -r target_folder gs://bucket/


比較パターン


カジュアルな用途


  • 1ファイルサイズ:1MB

  • ファイル数:10

  • 合計:10MB


ビジネスカジュアルな用途


  • 1ファイルサイズ:10MB

  • ファイル数:10

  • 合計:100MB


でっかいの1つ


  • 1ファイルサイズ:1GB

  • ファイル数:1

  • 合計:1GB


ちっちゃいのたくさん


  • 1ファイルサイズ:1KB

  • ファイル数:10,000

  • 合計:10MB


結果(平均)

回線状況やストレージの機嫌もあるので時間自体は参考程度。

パターン
1.直接転送
2.間接転送

カジュアル(1MB*10)
20秒
20秒

ビジネスカジュアル(10MB*10)
52秒
25秒

でっかいの1つ(1GB*1)
5分50秒
1分25秒

ちっちゃいのたくさん(1KB*10,000)
1時間30分00秒
33分00秒


サマリ


  • s3://からgs://への直接転送は合計数MB程度、数十ファイルのみにしておこう。

  • いずれにせよファイル数多いとキツイ。tarできるやつはしておくこと。