AWS Snowball
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本指南适用于 Snowball Edge。如果您正在查找 Snowball 的相关文档,请参阅 AWS Snowball 用户指南

使用 Snowball 客户端

注意

2018 年 1 月,为集群提供了功能更新,这使其成为无领导。集群更新与较旧集群向后兼容。在下文中,您可以找到 Snowball Edge 的原始 Snowball 客户端文档。如果您要查找更新的内容,请参阅使用 Snowball 客户端

在下文中,您将了解如何获取 Snowball 客户端以及如何将其与 AWS Snowball Edge 设备结合使用。Snowball 客户端是独立的终端应用程序,您在本地服务器上运行该应用程序,用于解锁设备及获取凭证、日志和状态信息。您也可以使用客户端执行集群的管理任务。在您读取数据以及将数据写入 AWS Snowball Edge 设备时,您将使用 适用于 Snowball 的 Amazon S3 Adapter 或文件接口。

下载并安装 Snowball 客户端

您可以下载并安装适用于 WindowsMacLinux 的 Snowball 客户端。打开该页面后,请在该页面上找到适合您操作系统的安装包,然后按照说明安装 Snowball 客户端。从您工作站中的终端运行 Snowball 客户端时,可能需要使用特定路径,具体取决于操作系统:

  • Microsoft Windows – 安装客户端后,您可从任何目录运行客户端,且无需其他任何准备。

  • Linux – 必须从 ~/snowball-client-linux-build_number/bin/ 目录运行 Snowball 客户端。

  • Mac – 除了将文件夹从 Snowball 客户端 .tar 文件复制到 /usr/local/bin/snowball 目录之外,install.sh 脚本还会创建链接(符号链接)。如果运行此脚本,则只要 /usr/local/bin 是 bash_profile 中的一个路径,您便可以通过任何目录运行 Snowball 客户端。您可以使用 echo $PATH 命令验证您的路径。

Snowball 客户端的命令

在下文中,您可找到有关 Snowball 客户端命令的信息,包括使用示例和示例输出。

解锁

unlock 命令使用 AWS Snowball Edge 设备的 IP 地址和您的凭证解锁对 AWS Snowball Edge 设备的访问。

如果您解锁集群,则将 -i 选项用于主节点,并将 -s 选项用于每个辅助节点,如以下示例中所示。所有节点都是相同的,直到您将一个节点指定为主节点。主节点是集群的领导节点,它执行集群的大多数后台管理工作。有关集群的更多信息,请参阅集群化概述

用量

snowballEdge unlock -i IP Address -m Path/to/manifest/file -u 29 character unlock code

例 单个设备解锁输入

snowballEdge unlock -i 192.0.2.0 -m /user/tmp/manifest -u 01234-abcde-01234-ABCDE-01234

例 单个设备解锁输出

The Snowball Edge unlock status is: UnlockSnowballResult(status=UNLOCKING)

例 集群解锁输入

snowballEdge unlock -i 192.0.2.0 -m /user/tmp/manifest -u 01234-abcde-01234-ABCDE-01234 -s 192.0.2.1 -s 192.0.2.2 -s 192.0.2.3 -s 192.0.2.4

例 集群解锁输出

Snowball Unlock Status: SUCCESS Node Ip: [Node Id, State] 192.0.2.0 : [JID850f06EXAMPLE-4EXA-MPLE-2EXAMPLEab00, AVAILABLE] 192.0.2.1 : [JID850f06EXAMPLE-4EXA-MPLE-2EXAMPLEab01, AVAILABLE] 192.0.2.2 : [JID850f06EXAMPLE-4EXA-MPLE-2EXAMPLEab02, AVAILABLE] 192.0.2.3 : [JID850f06EXAMPLE-4EXA-MPLE-2EXAMPLEab03, AVAILABLE] 192.0.2.4 : [JID850f06EXAMPLE-4EXA-MPLE-2EXAMPLEab04, AVAILABLE] Total Size: 225 TB Free Space: 121 TB Primary Node: 192.0.2.0 S3 Endpoint running at: http://192.0.2.0:8080 Durability Status: HEALTHY - The Snowball Edge cluster is highly durable.

获取凭证

credentials 命令返回一组本地凭证 (访问密钥和私有密钥)。在将 AWS CLI 或您自己的应用程序与 适用于 Snowball 的 Amazon S3 Adapter 结合使用来读取数据和将数据写入 AWS Snowball Edge 设备时,可以使用这些凭证对您的请求进行签名。这些凭证仅与 AWS Snowball 的单个任务相关联,且仅可用于设备或设备集群。设备或设备集群在 AWS 云中并不具有任何 AWS Identity and Access Management (IAM) 权限。

注意

如果您将 AWS CLI 与 Snowball Edge 结合使用,则必须在配置 CLI 时使用这些凭证。有关为 CLI 配置凭证的信息,请参阅 AWS Command Line Interface 用户指南 中的快速配置

用量

snowballEdge credentials -i IP Address -m Path/to/manifest/file -u 29 character unlock code

例 输入

snowballEdge credentials -i 192.0.2.0 -m /user/tmp/manifest -u 01234-abcde-01234-ABCDE-01234

例 输出

[snowballEdge] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

获取状态

status 命令将返回 AWS Snowball Edge 设备的状态。在运行此命令检查集群的状态时,应使用的 IP 地址为主节点的 IP 地址。有关集群的更多信息,请参阅集群化概述

用量

snowballEdge status -i IP Address -m Path/to/manifest/file -u 29 character unlock code

例 输入

snowballEdge status -i 192.0.2.0 -m /user/tmp/manifest -u 01234-abcde-01234-ABCDE-01234

例 输出

Snowball Status: SUCCESS S3 Endpoint running at: http://192.0.2.0:8080 Total Size: 82 TB Free Space: 74 TB

获取由 AWS Greengrass 提供支持的 AWS Lambda 和文件接口日志

logs 命令将 Lambda 和文件接口日志的副本以存档格式保存到服务器上的指定路径。您可使用 -o 选项指定路径。

用量

snowballEdge logs -i IP Address -m Path/to/manifest/file -u 29 character unlock code -o Path/to/logs

例 输入

snowballEdge logs -i 192.0.2.0 -m /user/tmp/manifest -u 01234-abcde-01234-ABCDE-01234 -o ~/

例 输出

Snowball logs written to: /home/dan/snowballLogs-14EXAMPLE8009.zip

获取设备日志

servicelogs 将来自 Snowball Edge 或集群的支持日志的加密 Blob 保存到服务器上的指定输出路径。在调试问题时,请将这些日志发送给 AWS Support。

用量

snowballEdge servicelogs -o Path/to/service/logs/output/directory -i IP Address -m Path/to/manifest/file -u 29 character unlock code

例 输入

snowballEdge servicelogs -i 192.0.2.0 -m /user/tmp/manifest -u 01234-abcde-01234-ABCDE-01234 -o ~/

例 输出

Snowball servicelogs written to: /home/dan/snowballLogs-14EXAMPLE8010.bin

从集群中删除节点

removenode 命令从 Snowball Edge 设备的集群中删除节点。如果节点不可用,请使用此命令。有关集群的更多信息,请参阅集群化概述

重要

仅在您要删除无响应的节点时才应使用 removenode 命令。请勿使用此命令删除正常运行的节点。

如果节点意外关闭或与断开网络连接,从而临时对集群的其余部分不可用,则无需使用此命令。在这种情况下,只需将之前不可用的节点重新通电并连接到网络。随后,此节点将自动重新加入集群。

用量

snowballEdge removenode -i IP Address -m Path/to/manifest/file -u 29 character unlock code -n node id of unavailable node

例 输入

snowballEdge removenode -i 192.0.2.0 -m /user/tmp/manifest -u 01234-abcde-01234-ABCDE-01234 -n JIDfEXAMPLE-1234-abcd-1234-4EXAMPLE8ae9

例 输出

The node: JIDfEXAMPLE-1234-abcd-1234-4EXAMPLE8ae9 was successfully removed from the cluster.

向集群添加节点

addnode 命令将节点添加到 Snowball Edge 设备的集群。您可以使用此命令将不可用节点替换为您订购作为替换的新节点。有关集群的更多信息,请参阅集群化概述

重要

不要尝试重新添加您之前使用 snowballEdge removenode 命令从集群中移除的任何节点。

用量

snowballEdge addnode -i IP Address -m Path/to/manifest/file -u 29 character unlock code -a IP address of the node to be added

例 输入

snowballEdge addnode -i 192.0.2.0 -m /user/tmp/manifest -u 01234-abcde-01234-ABCDE-01234 -a 192.0.2.5

例 输出

The node: 192.0.2.5 was successfully added to the cluster.

解锁 AWS Snowball Edge 设备

要解锁 AWS Snowball Edge 设备,请运行 snowballEdge unlock 命令。此命令验证您对 AWS Snowball Edge 设备的访问权限。要运行此命令,您的任务要使用的 AWS Snowball Edge 设备必须位于现场、已接通电源、接入网络并已启动。此外,AWS Snowball Edge 设备前面的 LCD 显示屏必须指明设备已准备就绪,可供使用。

验证 Snowball 客户端对 AWS Snowball Edge 设备的访问权限

  1. 获取您的清单和打开代码。

    1. 从 AWS Snowball 管理控制台或作业管理 API 获取清单。您的清单是加密的,只有打开代码才能解密。Snowball 客户端将解密的清单与在准备时置入 AWS Snowball Edge 设备的信息进行比较。比较过程中会验证您是否具有适宜的 AWS Snowball Edge 设备 用于完成您将要开始的数据传输任务。

    2. 获取打开代码,这个 29 位的代码也会在您下载清单时显示。我们建议您写下这个代码,将其保存在与所下载清单不同的存储位置,以防止其他人未经授权访问您设施中的 AWS Snowball Edge 设备。

  2. 在 AWS Snowball Edge 设备的 LCD 显示屏上找到 AWS Snowball Edge 设备的 IP 地址。AWS Snowball Edge 设备首次连接到您的网络时,它会自动创建 DHCP IP 地址。如果您要使用其他 IP 地址,可以从电子墨水显示屏上进行更改。有关更多信息,请参阅使用 AWS Snowball Edge

  3. 使用 AWS Snowball Edge 设备的 IP 地址和您的凭证,执行 snowballEdge unlock 命令来验证您对 AWS Snowball Edge 设备的访问权限,如下所示:

    snowballEdge unlock -i [IP Address] -m [Path/to/manifest/file] -u [29 character unlock code]
    snowballEdge unlock -i 192.0.2.0 -m /user/tmp/manifest -u 01234-abcde-01234-ABCDE-01234