AWS Snowball Edgeを使ってみた

こんにちは。SCSKの鮫嶋です。

AWS Snowファミリーは、AWS認定試験ではよく取り上げられますが実際に使ったことはないという方が多いのではないでしょうか。
今回はAWS Snowファミリーの1つであるSnowball Edgeに触れる機会がありましたので、ご紹介させていただきます。

AWS Snow ファミリーとは

データ移行およびエッジコンピューティングのために利用される物理デバイスであり、AWS Snowcone、AWS Snowball Edge、AWS Snowmobileの3つがあります。

それぞれの概要としては以下の通りです。

  AWS Snowcone AWS Snowball Edge
(Storage Optimized)
AWS Snowball Edge
(Compute Optimized)
AWS Snowmobile
ユースケース エッジコンピューティング
データ転送
エッジストレージ
データ転送
エッジストレージ
エッジコンピューティング
データ転送
データ転送
HDDストレージ 8 TB 80 TB 42 TB 100 PB
SSDストレージ 14TB 1TB 7.68TB
重量 2.1kg 22.3kg 22.3kg 該当なし

AWS Snowball Edgeは2種類ありますが、基本的には「Storage Optimized」がストレージ用、「Compute Optimized」がエッジコンピューティング用というイメージで問題ないかと思います。

今回の移行要件

100台以上のNASをAWSのS3に移行するというのが今回の要件でした。移行時にデータの更新等は発生せず、100TB以上のデータ移行が必要だったため、大容量を迅速に転送可能なSnowball Edgeを複数台利用してAWSへの移行を行いました。

AWS Snowball(セキュアなペタバイト規模のデータ転送)| AWS
AWS Snowball は、安全なデバイスを使用して AWS クラウドの内外に大量のデータを転送するペタバイト規模のデータ転送サービスです。Snowball を使用すると、高いネットワークコスト、長時間かかる転送、セキュリティ面の懸念とい...

Snowball Edgeは注文料金が300USD、配送料が150USDで最初の10日間は無料です。
10日以降は30USD/日かかります(2022/1現在)

Snowball Edge発注から返却までの流れ

Snowball Edge発注から返却までの一連の流れとしては下記の通りとなります。

  1. ジョブ作成(注文)
  2. 受取
  3. Snowball Edgeへデータコピー
  4. 返送
  5. AWSでS3へコピー

(参考)ジョブ作成から到着までの所要日数について

ジョブ作成から到着までの日数は早いときで2日、遅いときで5日程度でした。
1台目は到着まで5日だったことから、2台目、3台目を平日に受け取るため、金曜日に手配したところ、2日後の日曜日に到着してしまいました。土日に配達されてしまう可能性もあるので、注意しましょう。

  手配~到着までの日数
1台目 5日
2台目 2日
3台目 2日
4台目 4日

ジョブ作成(注文)

AWS Snow ファミリーを手配するためにジョブを作成していきます。

1. AWS Snow ファミリーのデバイスを注文をクリックします。

Snowball_ジョブ作成

2. Snowファミリーのジョブを選択します。ジョブの種類としては3種類あります。

  • Amazon S3へのインポート
  • Amazon S3からのエクスポート
  • ローカルコンピューティングとストレージのみ

今回はS3へのコピーが目的なので、S3へのインポートを選択します。

Snowball_ジョブ作成

3. 配送先住所と配送速度を選択します。

※配送速度は「Standard Shipping」のみ選択可能です。日本では配送希望日は選べません。

Snowball_ジョブ作成

4. ジョブに名前を付けます。

Snowball_ジョブ作成

5. Snowデバイスを選択していきます。

Snowvallデバイスは下記3種類あり、ストレージ最適化されたものと、コンピューティングに最適化されたものがあります。
今回はデータの移行のみなので、Storage Optimizedを選択します。

Snowball_ジョブ作成

6. 料金オプションを選択

1・3年前払いも可能ですが、今回はデータ移行が目的なのでオンデマンドを選択します。

Snowball_ジョブ作成

7. データを移行したいS3ストレージを選択します。

Snowball_ジョブ作成

8. コンピューティングオプションを選択します。

Snowballデバイスで処理を行いたい場合はこちらで指定します。
今回は利用しないため、選択しません。

Snowball_ジョブ作成

9.「セキュリティ設定を選択」画面で暗号化キー、サービスアクセスのためのロールを設定します。

Snowball_ジョブ作成
Snowball_ジョブ作成

10. 通知設定を選択します。

ジョブのステータス変更時に通知が来るように使用するSNSトピックを選択します。
設定しておくことで、ジョブのステータスが変更されたタイミングでメールが送られてきます。

Snowball_ジョブ作成

受取~初期設定

受取

Snowballの受取が完了したら、セットアップを実施します。
上面の蓋を開けると電源コードが入っています。
Snowball Edge上面

上面から電源コードを取り出し背面に差すと電源がONになります。
Snowball Edge背面

電源をONにして10分程度経過後、前面に下記の画面が表示されれば起動完了です。
※起動時の音がかなり大きいので注意が必要です。

Snowball Edge前面

初期設定

IPアドレス割当

前面のパネルで「CONNECTION」を押すとIPアドレスを入力する画面が表示されるので、静的IPの場合はIPアドレス情報を入力、DHCPの場合は「DHCP」をタップして「APPLY」を押下することでIPアドレスが割り当てられます。

Snowball Edgeロック解除

配送時の状態ではSnowball Edgeにロックがかかっているので、IPアドレス割当後に、Snowballデバイスのロック解除を行う必要があります。ロック解除を行うにはマニフェストファイルとロック解除コードが必要です。
マニフェストファイルとロック解除コードはマネジメントコンソールの[Snow ファミリー]>[JOB]>[該当JOB]から取得できるのでダウンロードしておきましょう。

Snowballデバイスのロック解除方法は下記2種類あり、下記URLから入手可能です。
① AWS OpsHub(GUI)での解除
② Snowball Edge クライアント(CLI)での解除

※OpsHubを利用することでコピーしたファイルをGUIで視覚的に確認できるので、入れておくのがおすすめです。

①AWS OpsHubを用いたロック解除

1. AWS OpsHubを起動します。

2. Sign into local devicesを選択します。

AWS OpsHub

3. ローカルデバイスにサインイン画面でデバイスを選択します。

今回はSnowball Edgeを選択します。
AWS OpsHub

4.Snowball Edgeにサインインの画面でデバイスのIPアドレス、ロック解除コードを入力し、マニフェストファイルを選択後サインインを押下します。

AWS OpsHub

下記画面が表示されたら起動完了です。

②Snowball Edge クライアントを用いたロック解除

1. コマンドプロンプトを起動します。

2. ロック解除のため、下記コマンドを入力します。

snowballEdge unlock -i "IPアドレス" -m "マニフェストファイルのパス" -u "アンロックコード"

3. ロック解除状態確認のため、下記コマンドを入力します。

snowballEdge describe-device

上記コマンドの出力結果の中で、StateがUNLOCKEDになっていればロック解除は完了です。

AWS CLIのプロファイル設定

snowball EdgeにアクセスするためにはアクセスキーID、シークレットアクセスキーを登録する必要があります。
本記事ではSnowball Edge クライアントを用いたロック解除について説明します。

※AWS OpsHubでは「iam-secret.ini」を取得することでアクセスキーID、シークレットアクセスキーの取得が可能です。

1.  以下のコマンドでアクセスキーIDを取得します。

snowballEdge list-access-keys

2. 取得したアクセスキーIDでシークレットアクセスキーを取得します。

snowballEdge get-secret-access-key --access-key-id "アクセスキーID"

3. アクセスキーID、シークレットアクセスキーを取得したら、AWS CLIでプロファイルを設定する必要があります。

今回はsnowballEdgeというプロファイル名で登録します。

aws configure --profile snowballEdge

4. 手順3実行後に下記の認証情報を入力します。

※””部分を手順1, 2で取得した値に置き換えてください。

AWS Access Key ID [None]: "アクセスキーID"
AWS Secret Access Key [None]: "シークレットアクセスキー"
Default region name [None]: snow
Default output format [None]: json

Snowball Edgeへのデータコピー

今回はAWS CLIを利用してコピーを実施しました。

AWS OpsHubを利用してコピーも可能ですが、ファイル数が多くなるとコピーができないようです。(2021/12月時点)
よって、AWS CLIでのコピーがおすすめです。

「s3 cp」コマンドを利用することでSnowball Edgeへのコピーが可能です。

aws s3 cp --recursive "コピー元パス" "コピー先パス" --endpoint http://XXX.XXX.XXX.XXX:8080 --profile snowballEdge

※コピー先パスは「s3://」から始める必要があります。
–recursiveをつけることで再帰的にコピーが可能です。

snowballのリストを出力したい場合、「s3 ls」コマンドを使います。

aws s3 ls "snowballのパス" --endpoint http://XXX.XXX.XXX.XXX:8080 --profile snowballEdge

その他、削除に使用する「s3 rm」コマンドも利用可能です。

終わりに

オンプレからS3への大容量データの移行はSnowファミリーを使ってみてはいかがでしょうか。

次回はSnowball Edgeへコピーした際に、つまずいたポイントを紹介します。

タイトルとURLをコピーしました