AWS Snowballことはじめ パート3【Snowballを使ったデータ移行プロセス】
Snowball はセキュアなアプライアンスを使用したペタバイト規模のデータ転送ソリューションです。 今回は Snowball を使ったデータ移行プロジェクトの流れを紹介します。
一般的なデータ移行の流れ
データを移行する上では、以下のような作業が発生します。
- 移行データの選定
- 旧環境からのデータの取り出し
- 新環境へのデータの取り込み
- 移行データの検証
このうち Snowball は #2, #3 を担当します。
以下では Snowball に関連する #2, #3 のフローを解説します。
Snowball のデータ移行のプロセス
AWS Snowball は
- オンプレミスから AWS クラウド(AWS クラウドへのインポート。インポートジョブ)
- AWS クラウドからオンプレミス(AWS クラウドからのエクスポート。エクスポートジョブ)
と AWS クラウド内外のデータ転送に対応しています。
また各移行をジョブと呼びます。
順に見ていきましょう。
オンプレミスから AWS への移行(インポートジョブ)
- クラウド移行
- データセンターの撤去
などのケースではこのプロセスを踏みます。
以下の流れで AWS にデータ移行します。
- インポートジョブの作成
- Snowball をオンプレミス環境に発送
- Snowball に接続
- データを Snowball に転送
- Snowball を AWS に発送
- データを AWS S3 に転送
図にすると次のようになります。
詳細は次のページを参照して下さい。
http://docs.aws.amazon.com/AWSImportExport/latest/ug/create-import-job-steps.html
移行データが大量にあるときは、Snowball(ジョブ) の数を増やしてインポートの並列数を増やすと、データ移行完了までのリードタイムを短縮できます。 効率的なデータ移行方針については、後日別エントリーで整理します。
AWS からオンプレミスへの移行(エクスポートジョブ)
- 災害対策
- コンテンツ配信
などのケースではこのプロセスを踏みます。
以下の流れで AWS からデータ移行します。
- エクスポートジョブの作成
- AWS S3 データを Snowball に転送
- Snowball をオンプレミス環境に発送
- Snowball に接続
- データを Snowball からオンプレミスに転送
- Snowball を AWS に発送
- 移行対象の AWS S3 データがなくなるまでエクスポート処理を繰り返す
図にすると次のようになります。
詳細は次のページを参照して下さい。
http://docs.aws.amazon.com/AWSImportExport/latest/ug/whatissnowball.html
移行データが大量にあるときは、対象データが Snowball 1 台におさまるように複数のジョブを作成してエクスポートの並列数を増やすと、データ移行完了までのリードタイムを短縮できます。 効率的なデータ移行方針については、後日別エントリーで整理します。
データ移行にかかる時間
データ移行のプロセスは上述の通りシンプルです。 では、データ移行のリードタイムはどうでしょうか。
Snowball の配送時間
Snowball の配送業者は以下の通りです
- インド : Amazon Logistics
- インド以外 : UPS
したがって、ベルリンのあるドイツは UPS です。 ジョブ作成時に配送スピードをスタンダードやエクスプレスなど複数のオプションから指定可能です。
ここで注意が必要です。
指定可能なのはあくまで Snowball を配送するときのスピードであり、Snowball をいつ確保出来るかは指定できません。インポートジョブを作成後、Snowball の準備が整い次第、指定した配送方式で配送されるだけです。
配送日時を指定できないのであれば、早めにジョブを作成して余裕を持って Snowball を受け取りたいところですが、Snowball を受け取り後、一定日数を超えると遅延料金が日々発生します。
データ移行作業を開始するタイミングに合わせて Snowball を確保しておきたいのは山々ですが、きめ細かなスケジュール調整は現時点ではできないのでご注意ください。
参考 : http://docs.aws.amazon.com/AWSImportExport/latest/ug/shipping.html
AWS ↔ Snowball 間のデータ転送時間
インポートジョブにおいて、Snowball が AWS に到着後、インポートの取り込み準備に1営業日、Snowball から AWS へのインポート作業に2営業日程度かかります。 エクスポートジョブにおいて、AWS S3 から Snowball へのエクスポート作業には多くの場合 1日、まれにそれより多くの日数がかかります。
料金
Snowball の料金は以下で構成されます。
- Snowball の利用(50 TB は 200 USD, 80 TB は 250 USD)
- Snowball の利用の追加日料金(10日まで無料、移行は15 USD/日)
- S3 データ転送(S3 への転送は無料、S3 からの転送はリージョンによって異なる)
- Snowball 送料
追加日料金の計算は注意が必要です。
Snowball を15日間オンサイトで利用していたとします。
15日間のうち
- Snowball を受け取った初日
- Snowball を返送した最終日
は配送日とみなされ、オンサイト利用日数にカウントされません。そのため、利用日数は 15-2=13日となり、無料日数の10日を除く 13-10=3 日分、つまり 3 日 x 15 USD/日 = 45 USD の追加料金が発生します。
参考 : https://aws.amazon.com/snowball/pricing/
まとめ
今回は、AWS Snowball のデータ移行プロセスを紹介しました。
AWS内外のデータ移行に対応しており、プロセスもシンプルでAWS 内外の取り込み処理も非常にスピーディーです。
実際のデータ移行プロジェクトでは
- Snowball ジョブの並列数を上げてリードタイムを短くする
- 現時点ではSnowball をジャストインタイムに確保することができないため、追加料金をある程度許容し、余裕をもって Snowball を確保する
などの工夫が必要そうです。
効率的なデータ移行戦略については、後日改めてご紹介します。
次回からは実際に Snowball のインポートジョブを作成し、データ移行を行います。