AWS Snowball Edge デバイスにデータを転送する方法を教えてください。
最終更新日: 2020 年 8 月 28 日
AWS Snowball を使用してデータを AWS に転送しています。Snowball Edge デバイスにデータを転送する方法を教えてください。
簡単な説明
Snowball Edge デバイスをお使いの場合、次のいずれかの方法でデータ転送が行えます。
- Snowball クライアント
- Snowball 用 Amazon Simple Storage Service (Amazon S3) Adapter
- ファイルインターフェイス
- AWS Lambda
- Amazon Elastic Compute Cloud (Amazon EC2)
注: 標準 Snowball デバイスを使用している場合は、「標準 Snowball デバイス (50 TB または 80 TB のストレージ) にデータを転送する方法を教えてください」をご参照ください。
例として、Snowball 用 Amazon S3 Adapter を使ったデータ転送用のSnowball Edge デバイスをセットアップする手順を次に示します。
- デバイスのロック解除コードとマニフェストファイルを取得します。
- Snowball Edge デバイスの設定とロック解除を行います。
- AWS コマンドラインインターフェイス (AWS CLI) のプロファイルを、Snowball Edge デバイスを使用できるように設定します。
- Snowball 用 Amazon S3 Adapter を使用してデータを転送します。
解決方法
デバイスのロック解除コードとマニフェストファイルを取得する
Snowball コンソールを使用してのデバイス認証情報の取得については、認証情報の取得とツールをご参照ください。
注意: お客様にデバイスが到着するまでは、Snowball コンソールを使用してのデバイス認証情報の取得はできません。
AWS CLI を使用してデバイスの認証情報を取得するには、以下の手順に従います。
1. バージョン 1.16.14 かそれ以前の AWS CLI をインストールします。現在のところ、Snowball Edge デバイスとの使用をサポートしているのは、これらの AWS CLI バージョンのみです。
2. list-jobs コマンドを実行して、Snowball ジョブ ID を取得します。
注: --region の値は、Snowball ジョブがある AWS リージョンに置き換えます。
aws snowball list-jobs --region us-east-1
3. このコマンドは以下のような出力を返します。
{
"JobId": "JIDexample-aaaa-1111-bbbb-222222222222",
"JobState": "WithCustomer",
"IsMaster": false,
"JobType": "IMPORT",
"SnowballType": "STANDARD",
"CreationDate": 1532615527.2,
"Description": "My_First_Snowball_Job"
}
JobID をコピーします。複数のジョブがある場合は、すべてのジョブが一覧表示されます。適切なジョブの JobID をコピーしてください。
4. get-job-unlock-code コマンドを実行して、解除コードを取得します。
aws snowball get-job-unlock-code --job-id JIDexample-aaaa-1111-bbbb-222222222222
5. このコマンドは解除コードを返します。これは、次のように、4 つのダッシュで区切られた 25 文字の英数字です。
01234-abcde-01234-ABCDE-01234
6. get-job-manifest コマンドを実行して、マニフェストファイルを取得します。
aws snowball get-job-manifest --job-id JIDexample-aaaa-1111-bbbb-222222222222
7. このコマンドは、ジョブのマニフェストファイルの Amazon S3 署名付き URL を返します。マニフェストファイルをダウンロードする場所のパスを記録しておきます。このパスは後のステップで必要になります。
Snowball Edge デバイスの設定とロック解除
1. Snowball クライアントのダウンロードとインストールを行います。
2. Snowball クライアントを使用して、ワークステーションから configure コマンドを実行し、プロファイルにジョブの認証情報 (マニフェストと解除コード) を設定します。
snowballEdge configure
3. このコマンドは、デバイスとジョブに関する情報を入力するプロンプトを返します。サンプルプロンプトにある次の値を置き換えます。
Snowball Edge Manifest Path: マニフェストファイルへのパスを入力します。
Unlock Code: 解除コードを入力します。
Default Endpoint: Snowball Edge デバイスの IP アドレスを入力します。
Configuration will stored at home directory\.aws\snowball\config\snowball-edge.config
Snowball Edge Manifest Path: /Downloads/JID2EXAMPLE-0c40-49a7-9f53-916aEXAMPLE81-manifest.bin
Unlock Code: 01234-abcde-01234-ABCDE-01234
Default Endpoint: https://192.0.2.0
警告: 設定ファイルにアクセスできるユーザーは、Snowball Edge デバイスまたはクラスターのデータにアクセスすることもできます。このファイルのローカルアクセスコントロールを管理する必要があります。
4. unlock-device コマンドを実行して、Snowball Edge デバイスのロックを解除します。
snowballEdge unlock-device
5. unlock-device コマンドを実行すると、文字列「Your Snowball Edge device is unlocking」を含むメッセージが表示されます。 ステータスを更新するには、 describe-device コマンドを実行します。
snowballEdge describe-device
6. デバイスの状態が「UNLOCKED」になったら、データをデバイスにコピーできます。
注意: デバイスのロックを解除しようとしてエラーが発生する場合は、接続の問題のトラブルシューティングをご参照ください。
Snowball Edge デバイスを使用するように AWS CLI のプロファイルを設定する
1. AWS CLI で使用するため、Snowball クライアントからローカル認証情報を取得します 。list-access-keys コマンドを実行して、アクセスキー ID を取得します。
snowballEdge list-access-keys
2. このコマンドは AccessKeyIds の値を返します。アクセスキー ID に対して get-secret-access-key コマンドを実行します。
snowballEdge get-secret-access-key --access-key-id EXAMPLEACCESSKEYID
3. このコマンドは、次に示すようにアクセスキーとシークレットアクセスキーの両方を返します。
[snowballEdge]
aws_access_key_id = EXAMPLEACCESSKEYID
aws_secret_access_key = EXAMPLEKEYaBc/D1EFGHI/jKlMnoPQRSTUVXYZAB
4. AWS CLI を開きます。次に、 configure コマンドに --profile 引数を指定して実行し、AWS CLI のプロファイルを設定します。
aws configure --profile snowballEdge
5. このコマンドは、Snowball Edge プロファイルの認証情報を入力するためのプロンプトを返します。サンプルプロンプトにある次の値を置き換えます。
AWS Access Key ID [None]: Snowball クライアントから返されたアクセスキー ID を入力します。
AWS Secret Access Key [None]: Snowball クライアントから返されたシークレットアクセスキーを入力します。
Default region name [None]: 空白のままにします。
Default output format [None]: 空白のままにします。
AWS Access Key ID [None]: EXAMPLEACCESSKEYID
AWS Secret Access Key [None]: EXAMPLEKEYaBc/D1EFGHI/jKlMnoPQRSTUVXYZAB
Default region name [None]:
Default output format [None]:
Snowball 用 Amazon S3 Adapter を使用したデータの転送
注: 次に示すコマンドで「--endpoint」の値は、Snowball Edge デバイスの IP アドレスに :8080 を添えた形で指定します。--profile の値には、Snowball Edgeデバイスで使用するために、AWS CLIで作成した名前付きプロファイルを使用します。
AWS CLI から s3 cp を実行することで、1 つのファイルをデバイスに転送できます。
aws s3 cp source/path/example s3://destination-bucket/path/example --endpoint http://192.0.2.0:8080 --profile snowballEdge
ディレクトリまたは複数のファイルを転送するには、s3 cp コマンドに --recursive オプションを指定して実行します。
aws s3 cp --recursive source/path/example s3://destination-bucket/path/example --endpoint http://192.0.2.0:8080 --profile snowballEdge
デバイスからオブジェクトを削除するには、s3 rm コマンドを実行します:
aws s3 rm s3://destination-bucket/path/example --endpoint http://192.0.2.0:8080 --profile snowballEdge
すでにデバイスに転送されたファイルを一覧表示するには、s3 ls コマンドを実行します:
aws s3 ls s3://destination-bucket/path/example --endpoint http://192.0.2.0:8080 --profile snowballEdge
ベストプラクティスとして、転送中および転送後にデータの検証を行うことをお勧めします。詳細については、Snowball Edge ジョブのデータ検証をご参照ください。