目次
最初に AWS Snowball / Snowball Edge について
AWS Snowball をご存知でしょうか? あまり使う機会がないかもしれませんが、Snowball は巨大なデータを AWS に送る場合に利用できる物理デバイスをやり取りする仕組みです。これを使うとネットワーク経由で時間をかけて転送する必要はありません。
いまのところ、1台の最大容量は 100TB ですが、複数台使えばペタバイトクラスのデータを AWS に送ることもできます。
ちなみに Snowball Edge は Snowball の機能拡張版という位置づけだったのですが、オリジナルの Snowball は現在既に利用できなくなっているため、Snowball といえば Snowball Edge の事を指すことになります。この文章では単純に Snowball と記述しています。
さて、こんな Snowball ですが、実際の所あんまり使う機会がありません。Snowball が必要になるほど大きなデータというのはなかなかなくて、1T くらいまでなら数日かけて手元の回線から送ってしまった方が手軽だったりします (AWS へのアップロードは課金されませんしね)。
今回は、8T 強のデータを AWS に移行する要件に Snowball を利用してみました。このサイズだとネットワーク経由で送っても十分行ける範囲ですが、実際に Snowball がどんなものか試す意味も含めて実施することにしました。今回はその一部始終を実際の写真をたくさん使ってレポートします。 ※この記事はパートナー杉浦達樹の多分な協力によって執筆されています。
実際の利用の流れ
それでは、Snowball が どういうものか分かったところで、実際の利用の手順を見ていきましょう。
ものすごく大雑把に言うと、 Amazon から巨大な NAS が送られてきて、データを投入して送り返せば S3 にアップロードしてくれる……そんなイメージで大丈夫です。
具体的には、
- AWS Console 上から Snowball Edge の注文を行う
- デバイスが送られてきたら、ネットワークにつなぎアクティベートする
- AWS に転送したいデータを Snowball 内にコピーする
- 電源を切って返送する
といった手順になります。
Snowball を注文する
最初は受取先の住所指定から
一番最初にデバイスの送り先住所を聞かれます。通常はオンプレの IDC に送る事が多いと思われますが、今回は弊社オフィスを指定しました。下の方にありますが、3~7 日で届くようです。おそらく国によっては配送オプションが複数から選択できるのだろうと思うのですが、少なくともこの時点の日本では 3~7 日の1択しかありませんでした。
デバイスを選択する
Snowball Edge はストレージ容量に特化したデバイスの他に、ローカル環境で ML などの処理を行うために SSD を搭載し、CPU 処理能力に優れた Compute モデルがあります。今回は単純にファイル転送ができれば OK ですので、 Storage Optimized を選択します。また、この時点で返却した後にインポートする S3 のバケットを選択する必要があります。 必要であれば作っておきましょう。
セキュリティ、 SNS トピックの指定など
続いて IAM ロール、そして通知用の SNS トピックを指定します。最後に OpsHub の案内が表示されます(今回は利用しませんでした)。
注文が終わったら
現在の注文 job のステータスが確認できるようになります。またこの画面から Snowball のクライアントと、そのために使用する credential のファイルのダウンロードができますので取得しておきましょう。
デバイスの接続とアクティベート
到着と開封
というわけで少し待つと到着しました。これが Snowball Edge デバイスです!
開封の様子を……と思いきや、外箱はありません。運送箱を兼ねているので、本当にこのまま送られてきます。コネクタ類や、コントールパネル、ケーブルなどは蓋を開けるとあります。この蓋はスライド式に収納できるようになっています。
背面コネクタ部の蓋を開放するとこのような感じです。
ちょっとびっくりなのは、配送ラベルの表示用として paperwhite が。そして、制御用のコンソールとして Fire 7 Tablet が埋め込まれています。全力で Amazon product が使われていますね!
電源を入れてアクティベート
付属している電源ケーブルとネットワークケーブルを接続し、電源を投入すると、しばらくの間掃除機みたいな物凄い音でファンが回ります。オフィスで動かすときは周りに断っておいたほうが良さそうでした。
この状態でしばらく待つと、ファンがだいぶ静かになり、インストラクションが表示された画面をループして設定待ちになります。
ここまで来たら、Snowball Edge client でアクティベートを行います。先程ダウンロードしておいた manifest ファイルと、unlock code が必要です。
この状態でしばらくたつと、コンソールパネルが操作可能になります。が、まだデバイスはロックされているので解除してやりましょう。
ここまで来ると、コンソールの S3 Service の表示が Locked → Unlocking → Ready と変わります。Ready になれば、このデバイス自身を S3 サーバとして利用することができます。
ファイルを転送しよう
実は、その前にもう1ステップ必要です。これでデバイスの準備が出来ていますが、 S3 クライアントの認証をするための鍵がありません。こちらも Snowball Edge Client から取得します。
これで Snowball のための AWS Access key と secret key が手に入りました。 普段と同じ様に ~/.aws 以下に設定を書いておきます。
それでは実際にアクセスしてみましょう!endpoint として configure のときに表示された Snowball の IP アドレスを指定します。
$ aws s3 ls --endpoint http://192.168.11.154:8080 s3://2020-12-30 17:51:28 frs-archives
注文時に設定した bucket が自動的に作られていますね。ここにファイルを置けば良さそうです。
今回は隣のホストで tar を作りつつ、それを Snowball に転送するために例えば以下のようなコマンドを使いました。このあたりは実際に転送するファイルにより適切な方法は変わるかと思います。
ssh srchost "cd /path/to/src && tar c dir" | pv -tabN "dir name xxx" | \ aws s3 cp --expected-size $[1]240*1024*1024*1024 --endpoint http://192.168.11.154:8080 - s3://frs-archives/target.tar
返送して S3 にインポートされるのを待つ
ファイルの格納が終わったら、コンソールからデバイスの電源を落とします。
すると自動的に上面にある paperwhiteに返送用のラベルが表示されます。賢いですね!
蓋を全て閉じ、AWS console からリンクをたどって集荷の依頼をすれば、そのまま持っていってくれます。
数日後、コンソールを確認してみると、AWS 側に到着してインポートが始まっていました。インポート状況も AWS コンソールから確認できます。
あとはインポートステータスが 100% になるのを待つだけです!
ちょっと注意事項ですが、もし日本以外のバケットに移す予定の場合は、先に Cross Region Replication を設定しておくのを忘れないようにしましょう。
今回は最終的に US に送る予定だったのですが、先に Replication の設定をしていなかったため、結局手動でコピーする事になりました……。
Snowball を使ってみて
今回は本来そこまで必要のないサイズではありましたが、実際使ってみてかなり手軽だという印象を受けました。物理デバイスを扱ったり、配送を手配したりと言った手間はありますが、頻繁に更新されない大きなデータに対して非常に強力な転送手段になりますね。
実際に使う機会は結構限られているとは思うのですが、チャンスがあればみなさんも是非 Snowball を使ってみてください。
References
↑1 | 240*1024*1024*1024 |
---|