こんにちは、日本にいるヤマダです。
re:Invent 2024で物理的なストレージデバイスを持って行ってデータをアップロードできるサービス「AWS Data Transfer Terminal」が発表されました。
AWS Data Transfer Terminalとは?
https://aws.amazon.com/jp/data-transfer-terminal/
AWS Data Transfer Terminalはストレージデバイスを持ち込み、高スループット接続を使用してS3やEFSにデータをアップロードできるサービスです。最初のデータ転送ターミナルはロサンゼルスとニューヨークの2ヶ所です。日本にはまだありませんが、今後増やしていく予定のようです✊
「面白そう!」という第一印象だけで使用してみようと思ったのですが、まだ日本国内にはターミナルがないので気軽には利用できなさそうです。しかし、いつ上司に「せや、機械学習やるか。USリージョンのインスタンスのほうが安いからデータをなるはやでS3に転送しといて」と無茶振りされるか分かりません。総合的に安くなる可能性もあるので今のうちに試算しておきましょう。
前提条件
上司の命令でなるはやでUSリージョンのS3に大量のデータをアップロードすることを迫られたヤマダ。もちろんヤマダは日本にいます。今回は比較対象としてシンプルなデータ転送・Snowシリーズ・AWS Data Transfer Terminalの3つを比較してみます。それぞれの条件は以下とします。
<共通>
・データは50TB
・S3にアップロードする
・リージョンは米国東部(バージニア北部)とする
・現実的に可能かどうかは一旦置いておく
<シンプルなデータ転送>
下記のネットワーク転送計算を利用させていただき、転送にかかる時間を計算する。
https://note.cman.jp/network/speed.cgi
<AWS Snowシリーズ>
AWS Snowball エッジデバイスを使用する
<AWS Data Transfer Terminal>
日本からロサンゼルスまで持っていく(交通費を計上)
検証!
シンプルなデータ転送
まずはデータ転送速度を測ってみます。私はマンションに住んでいるのでそこまでスピードは出ないと思いますが…
遅そう🤔
あんまり普段意識して速度とか見ていなかったのですが、もしかして恥ずかしい速度を晒しているのでしょうか。では次にデータ転送にかかる時間を見てみます。
1357時間!?!!?
思わず大きな声が出てしまいました。こんなにかかるものなんですね。データ転送時間などの感覚が全くなかったことを自覚できたので、これから意識していきたい所存です。
おそらく常に100%の効率は現実的ではありませんが、今回は常に100%ということにします。
ということでシンプルな転送でかかる時間は約57日ということになりました。恐ろしい。
AWS Snowシリーズ
Snowballエッジデバイスを利用して、50TBのデータを反映させるまでを考えたときにちょうどいいQAを見つけました。
80TBのデータで約1週間とのことなので、50TBであれば下回ることはありません。
ということでSnowballエッジデバイスを用いた転送でかかる時間は約7日ということにします!
ちなみに料金はSnowBallエッジデバイスを借りると10日間で300USDと往復の配送料がかかります。データ転送の受信(イン)は0.00USD/GB(無料)だそうです。今回はバージニア北部から借りる予定ですが、ヤマトのページを参考にするとおそらく重量的に198USDかかるのかなと思います。つまり往復で約400USDですね🤔
料金の合計は約700USDです。
<参考URL>
https://aws.amazon.com/jp/snowball/faqs/
https://aws.amazon.com/jp/snowball/pricing/
https://www.yamatoamerica.com/cs/international-ta-q-bin/international-ta-q-bin/
AWS Data Transfer Terminal
大本命の人力パワーデータ転送の時間です。
まずは50TBをどう持っていくかですが、分かりやすいのでSnowBallエッジデバイスを借りて持ち込むことにします。
Snowballエッジデバイスへの50TBのデータ転送にどれくらいの時間がかかるのかは中継機の性能に左右されるようです。今回は2日ほどでSnowballエッジデバイスが届き、2日半ほどでデータ転送が完了することとします。
ロサンゼルスへは飛行機を利用します。海外に行ったことのない私の調査能力なので間違えていたらすみません。出てきた中で一番安くて時間もいい感じの航空券で計算します。
どうやらUNITEDを利用して13時間ほどで行けるようです。料金は77460円とのこと。
ここで心配になるのがSnowballエッジデバイスを通常の荷物として持っていけるのかというところですが、UNITEDの荷物ページでは次のように規定がありました。
綺麗に収まっています!安心して持って行けそうですね✊
当然ですが、今回はデータ転送のみに焦点を当てているので持っていく人間の荷物は他にないと想定します。転送ターミナルでの作業が終了次第、人間は放流とします。
ロサンゼルスのどこにターミナルがあるのか、細かくは調べていませんが多めに見積もってタクシーで2時間も走れば着くでしょう。あとはターミナルでどれくらい時間がかかるかですが、今回は50TBで効率が100%であれば200Gbpsだとして約36分、平均して65%以上の効率が出れば1時間以内に終了します。
ということで合計すると、約5日と4時間ほどでデータ取り込みが完了します!早い、やったね!
料金としてはAWS Data Transfer Terminalが利用時間によって課金されます。米国から米国の料金は1時間300USDです。あとはSnowballエッジデバイスの使用量の300USDと片道の送料(持って行った先で返す)で約200USDです。
合計すると料金は520USD(航空代)+100USD(タクシー代)+800USDですね。
<参考URL>
https://docs.aws.amazon.com/datatransferterminal/latest/userguide/what-is-dtt.html
https://aws.amazon.com/jp/data-transfer-terminal/pricing/
まとめ
<USリージョンのS3に50TBのデータをアップロードする表>
シンプル転送 | Snowballエッジデバイス | AWS Data Transfer Terminal | |
転送にかかる日数 | 約57日 | 約7日 | 約5日と4時間 |
料金 | – | 約700USD(104840円) | 約1420USD(212676円) |
所感 | 長すぎ | コスパよし | パワースピード |
素晴らしい結果になりました!約620USDの交通費さえもらえればSnowballより早くアップロードが完了しそうです!!(※アメリカから帰ってくる想定はしていません)
おまけ
もしも東京リージョンにAWS Data Transfer Terminalが展開されたらどうでしょうか。上記の表を少し変更してみます。
<東京リージョンのS3に50TBのデータをアップロードする表>
シンプル転送 | Snowballエッジデバイス | AWS Data Transfer Terminal | |
転送にかかる日数 | 約57日 | 約7日 | 約4日と14時間 |
料金 | – | 約334USD(50000円) | 約634USD(95000円) |
変更点としてはSnowballエッジデバイスの配送料を往復で約5000円としました。また、AWS Data Transfer Terminalではそれに加えて渡米した際の時間と料金を減らしました。50TBでは特にスピードを求めたい場合にAWS Data Transfer Terminalが選択肢になるように思います。また、Snowballエッジデバイスをターミナルへ何度も往復させて人力でデータを転送すればより大量のデータをスピーディに安全に転送することができそうです!
なんなら自分でなんとか50TBのデータを運ぶことができるのであれば、思いついた次の日に東京ターミナルで高速転送というのも夢ではないかもしれません!
ヤマダの家の近くにもAWS Data Transfer Terminalができたらいいな🥰