AWS Snowballことはじめ パート3【Snowballを使ったデータ移行プロセス】

2016.11.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Snowball はセキュアなアプライアンスを使用したペタバイト規模のデータ転送ソリューションです。 今回は Snowball を使ったデータ移行プロジェクトの流れを紹介します。

一般的なデータ移行の流れ

データを移行する上では、以下のような作業が発生します。

  1. 移行データの選定
  2. 旧環境からのデータの取り出し
  3. 新環境へのデータの取り込み
  4. 移行データの検証

このうち Snowball は #2, #3 を担当します。

以下では Snowball に関連する #2, #3 のフローを解説します。

Snowball のデータ移行のプロセス

AWS Snowball は

  • オンプレミスから AWS クラウド(AWS クラウドへのインポート。インポートジョブ)
  • AWS クラウドからオンプレミス(AWS クラウドからのエクスポート。エクスポートジョブ)

AWS クラウド内外のデータ転送に対応しています。

また各移行をジョブと呼びます。

順に見ていきましょう。

オンプレミスから AWS への移行(インポートジョブ)

  • クラウド移行
  • データセンターの撤去

などのケースではこのプロセスを踏みます。

以下の流れで AWS にデータ移行します。

  1. インポートジョブの作成
  2. Snowball をオンプレミス環境に発送
  3. Snowball に接続
  4. データを Snowball に転送
  5. Snowball を AWS に発送
  6. データを AWS S3 に転送

図にすると次のようになります。

import-job-diagram

詳細は次のページを参照して下さい。

http://docs.aws.amazon.com/AWSImportExport/latest/ug/create-import-job-steps.html

移行データが大量にあるときは、Snowball(ジョブ) の数を増やしてインポートの並列数を増やすと、データ移行完了までのリードタイムを短縮できます。 効率的なデータ移行方針については、後日別エントリーで整理します。

AWS からオンプレミスへの移行(エクスポートジョブ)

  • 災害対策
  • コンテンツ配信

などのケースではこのプロセスを踏みます。

以下の流れで AWS からデータ移行します。

  1. エクスポートジョブの作成
  2. AWS S3 データを Snowball に転送
  3. Snowball をオンプレミス環境に発送
  4. Snowball に接続
  5. データを Snowball からオンプレミスに転送
  6. Snowball を AWS に発送
  7. 移行対象の AWS S3 データがなくなるまでエクスポート処理を繰り返す

図にすると次のようになります。

export-job-diagram

詳細は次のページを参照して下さい。

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 の追加料金が発生します。

pricing

参考 : https://aws.amazon.com/snowball/pricing/

まとめ

今回は、AWS Snowball のデータ移行プロセスを紹介しました。

AWS内外のデータ移行に対応しており、プロセスもシンプルでAWS 内外の取り込み処理も非常にスピーディーです。

実際のデータ移行プロジェクトでは

  • Snowball ジョブの並列数を上げてリードタイムを短くする
  • 現時点ではSnowball をジャストインタイムに確保することができないため、追加料金をある程度許容し、余裕をもって Snowball を確保する

などの工夫が必要そうです。

効率的なデータ移行戦略については、後日改めてご紹介します。

次回からは実際に Snowball のインポートジョブを作成し、データ移行を行います。