如何将数据传输到我的 AWS Snowball Edge 设备?

3 分钟阅读
0

我使用 AWS Snowball 将我的数据传输到 AWS。我想要将数据传输到我的 Snowball Edge 设备。

简短描述

您可以使用以下方法之一将数据传输到 Snowball Edge 设备:

例如,请按照以下步骤设置您的 Snowball Edge 设备,以使用 Amazon S3 Adapter for Snowball 传输数据:

  1. 获取设备的解锁代码和清单文件。
  2. 配置并解锁 Snowball Edge 设备。
  3. 在 AWS Command Line Interface (AWS CLI) 上配置一个配置文件,以与 Snowball Edge 设备一起使用。
  4. 使用 Amazon S3 Adapter for Snowball 传输数据。

解决方法

获取设备的解锁代码和清单文件

要使用 Snowball 控制台获取设备的凭证,请参阅获取凭证和工具

**注意:**只有在设备交付给您之后,您才能使用 Snowball 控制台获取设备的凭证。

要使用 AWS CLI 获取设备的凭证,请执行以下操作:

1.    安装 AWS CLI 版本 1.16.14 或更早版本。当前只有这些 AWS CLI 版本支持与 Snowball Edge 设备一起使用。
**注意:**您可以选择卸载此 CLI 版本,然后在数据传输完成后再安装 AWS CLI 版本 2 或更高版本。

2.    运行 list-Jobs 命令以获取 Snowball 作业 ID:
**注意:**请用您的 Snowball 作业所在的 AWS 区域替换 --region 的值。

aws snowball list-jobs --region us-east-1

3.    此命令会返回类似以下内容的输出:

{
      "JobId": "JIDexample-aaaa-1111-bbbb-222222222222",
      "JobState": "WithCustomer",
      "IsMaster": false,
      "JobType": "IMPORT",
      "SnowballType": "EDGE",
      "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.    该命令返回解锁代码,解锁代码包含 25 个字母数字字符,由 4 个短划线分隔,类似于以下形式:

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(Snowball Edge 清单路径):输入至清单文件的路径。
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.    您的设备的状态变为“已解锁”后,即可将数据复制到设备。
**注意:**如果您尝试解锁设备时出现错误,请参阅排查连接问题

在 AWS CLI 上配置一个配置文件,以与 Snowball Edge 设备一起使用

**注意:**目前只有 AWS CLI 1.16.14 及更早的版本支持 Snowball Edge 设备。

1.    使用 Snowball 客户端获取用于 AWS CLI 的本地凭证。运行 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。然后,在 AWS CLI 中使用 -profile 参数运行 configure 命令,以配置配置文件:

aws configure --profile snowballEdge

5.    该命令会返回提示,要求用户输入 Snowball Edge 配置文件的凭证。替换示例提示中的以下值:
AWS Access Key ID [None]: 输入 Snowball 客户端返回的访问密钥 ID。
**AWS Secret Access Key [None]:**输入 Snowball 客户端返回的秘密访问密钥。
Default region name [None]: snow
Default output format [None]: json

AWS Access Key ID [None]: EXAMPLEACCESSKEYID
AWS Secret Access Key [None]: EXAMPLEKEYaBc/D1EFGHI/jKlMnoPQRSTUVXYZAB
Default region name [None]: snow
Default output format [None]:

有关更多信息,请参阅 在 Snowball Edge 上使用 AWS CLI 和 API 操作

使用 Amazon S3 Adapter for Snowball 传输数据

**重要提示:**对于以下命令中 --endpoint 的值,请输入 Snowball Edge 设备的 IP 地址,并附上 :8080。对于 --profile 的值,请使用您在 AWS CLI 上创建的用于与 Snowball Edge 设备配合使用的指定配置文件。

要将单个文件传输到设备,请使用 AWS CLI 运行 s3 cp

aws s3 cp source/path/example/text.txt 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 作业的数据验证


相关信息

规划您的大量传输

AWS 官方
AWS 官方已更新 2 年前