こんにちは。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への移行を行いました。
Snowball Edgeは注文料金が300USD、配送料が150USDで最初の10日間は無料です。
10日以降は30USD/日かかります(2022/1現在)
Snowball Edge発注から返却までの流れ
Snowball Edge発注から返却までの一連の流れとしては下記の通りとなります。
- ジョブ作成(注文)
- 受取
- Snowball Edgeへデータコピー
- 返送
- AWSでS3へコピー
(参考)ジョブ作成から到着までの所要日数について
ジョブ作成から到着までの日数は早いときで2日、遅いときで5日程度でした。
1台目は到着まで5日だったことから、2台目、3台目を平日に受け取るため、金曜日に手配したところ、2日後の日曜日に到着してしまいました。土日に配達されてしまう可能性もあるので、注意しましょう。
手配~到着までの日数 | |
---|---|
1台目 | 5日 |
2台目 | 2日 |
3台目 | 2日 |
4台目 | 4日 |
ジョブ作成(注文)
AWS Snow ファミリーを手配するためにジョブを作成していきます。
1. AWS Snow ファミリーのデバイスを注文をクリックします。
2. Snowファミリーのジョブを選択します。ジョブの種類としては3種類あります。
- Amazon S3へのインポート
- Amazon S3からのエクスポート
- ローカルコンピューティングとストレージのみ
今回はS3へのコピーが目的なので、S3へのインポートを選択します。
3. 配送先住所と配送速度を選択します。
※配送速度は「Standard Shipping」のみ選択可能です。日本では配送希望日は選べません。
4. ジョブに名前を付けます。
5. Snowデバイスを選択していきます。
Snowvallデバイスは下記3種類あり、ストレージ最適化されたものと、コンピューティングに最適化されたものがあります。
今回はデータの移行のみなので、Storage Optimizedを選択します。
6. 料金オプションを選択
1・3年前払いも可能ですが、今回はデータ移行が目的なのでオンデマンドを選択します。
7. データを移行したいS3ストレージを選択します。
8. コンピューティングオプションを選択します。
Snowballデバイスで処理を行いたい場合はこちらで指定します。
今回は利用しないため、選択しません。
9.「セキュリティ設定を選択」画面で暗号化キー、サービスアクセスのためのロールを設定します。
10. 通知設定を選択します。
ジョブのステータス変更時に通知が来るように使用するSNSトピックを選択します。
設定しておくことで、ジョブのステータスが変更されたタイミングでメールが送られてきます。
受取~初期設定
受取
Snowballの受取が完了したら、セットアップを実施します。
上面の蓋を開けると電源コードが入っています。
上面から電源コードを取り出し背面に差すと電源がONになります。
電源をONにして10分程度経過後、前面に下記の画面が表示されれば起動完了です。
※起動時の音がかなり大きいので注意が必要です。
初期設定
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を選択します。
3. ローカルデバイスにサインイン画面でデバイスを選択します。
今回はSnowball Edgeを選択します。
4.Snowball Edgeにサインインの画面でデバイスのIPアドレス、ロック解除コードを入力し、マニフェストファイルを選択後サインインを押下します。
②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へコピーした際に、つまずいたポイントを紹介します。