使用 Snowball Edge 客户端命令 - Amazon Snowball Edge 开发者指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Snowball Edge 客户端命令

接下来,你可以找到有关用于 Snow Family 设备的 Snowball Edge 客户端命令的信息。每个命令都包括使用示例和输出示例。Snowball Edge 客户端是一个独立的命令行应用程序,你可以在设备上运行它来解锁 Snow Family 设备,并对其进行配置和控制。您也可以将该客户端与 Snow Family 设备集群配合使用。在使用 Snowball Edge 客户端时,可以通过运行 snowballEdge help 命令获取其他支持信息。

要下载 Snowball Edge 客户端,请参阅。下载并安装 Snowball Edge 客户端

为 Snowball Edge 客户端配置配置文件

每次为 Snowball Edge 客户端运行命令时,都要提供您的清单文件、解锁代码和 IP 地址。你可以从 Amazon Snow 系列管理控制台 或任务管理 API 中获取其中的前两个。有关获取您的清单和解锁代码的更多信息,请参阅获取访问 Snow Family 设备的凭证

您可以选择使用 snowballEdge configure 命令将清单的路径、29 个字符组成的解锁代码和端点存储为一个配置文件。配置完成后,您可以使用其他 Snowball Edge 客户端命令,而不必为特定作业手动输入这些值。在配置了 Snowball Edge 客户端之后,信息将以纯文本的 JSON 格式保存到 home directory/.aws/snowball/config/snowball-edge.config

端点为附加了 https:// 的 IP 地址。您可以在 Amazon Snowball Edge 设备的 LCD 显示屏上找到 Amazon Snowball Edge 设备的 IP 地址。当 Amazon Snowball Edge 设备首次连接到您的网络时,如果有 DHCP 服务器可用,它会自动获取 DHCP IP 地址。如果您要使用其他 IP 地址,可以从 LCD 显示屏上进行更改。有关更多信息,请参阅 使用边 Amazon Snowball 缘设备

重要

可访问配置文件的任何人都可以访问 Snowball Edge 设备或集群上的数据。管理此文件的本地访问控制是您的管理责任之一。

用法

您可以通过两种方式使用此命令:内联或在提示时。此使用示例显示的是提示方法。

snowballEdge configure
例 输出
Configuration will stored at home directory\.aws\snowball\config\snowball-edge.config Snowball Edge Manifest Path: /Path/to/manifest/file Unlock Code: 29 character unlock code Default Endpoint: https://192.0.2.0

如果您同时具有多个作业,或者希望选择从不同的端点管理集群,则可以具有多个配置文件。有关多个 Amazon CLI 配置文件的更多信息,请参阅《Amazon Command Line Interface 用户指南》中的命名配置文件

获取用于 NFC 验证的 QR 代码

您可以使用此命令生成特定于设备的 QR 代码,以便与 Amazon Snowball Edge Verification App 一起使用。有关 NFC 验证的更多信息,请参阅验证 NFC 标签

用法

snowballEdge get-app-qr-code --output-file ~/downloads/snowball-qr-code.png
例 输出
QR code is saved to ~/downloads/snowball-qr-code.png

Snowball Edge 客户端版本

使用 version 命令查看 Snowball Edge 命令行界面(CLI)客户端的版本。

用法

snowballEdge version

示例输出

Snowball Edge client version: 1.2.0 Build 661

解锁 Snowball Edge 设备

要解锁独立 Amazon Snowball Edge 设备,请运行snowballEdge unlock-device命令。要解锁集群,请使用 snowballEdge unlock-cluster 命令。这些命令将验证您对 Amazon Snowball Edge 设备的访问权限。

注意

要解锁与您的作业关联的设备,这些设备必须位于现场、已接通电源、接入网络并已启动。此外, Amazon Snowball Edge 设备正面的 LCD 显示屏必须表明设备已准备就绪。

用法

snowballEdge unlock-device --endpoint https://192.0.2.0 --manifest-file Path/to/manifest/file --unlock-code 01234-abcde-ABCDE-01234
例 单个设备解锁输入
snowballEdge unlock-device --endpoint https://192.0.2.0 --manifest-file /usr/home/manifest.bin --unlock-code 01234-abcde-ABCDE-01234
例 单个设备解锁输出
Your Snowball Edge device is unlocking. You may determine the unlock state of your device using the describe-device command. Your Snowball Edge device will be available for use when it is in the UNLOCKED state.

集群用法

在解锁集群时,提供您的某个节点的端点,以及集群中其他设备的所有 IP 地址。

snowballEdge unlock-cluster --endpoint https://192.0.2.0 --manifest-file Path/to/manifest/file --unlock-code 01234-abcde-ABCDE-01234 --device-ip-addresses 192.0.2.0 192.0.2.1 192.0.2.2 192.0.2.3 192.0.2.4
例 集群解锁输出
Your Snowball Edge Cluster is unlocking. You may determine the unlock state of your cluster using the describe-device command. Your Snowball Edge Cluster will be available for use when your Snowball Edge devices are in the UNLOCKED state.

更新 Snowball Edge

使用以下命令下载和安装您的 Snowball Edge 设备的更新。有关使用这些命令的过程,请参阅更新 Snowball Edge 设备上的软件

snowballEdge check-for-updates:返回有关云中可用的 Snowball Edge 软件以及设备上安装的当前版本的版本信息。

用法(已配置 Snowball Edge 客户端)

snowballEdge check-for-updates
例 输出
Latest version: 102 Installed version: 101

snowballEdge describe-device-software:返回设备 SSL 证书的当前软件版本和到期日期。此外,如果正在下载或安装软件更新,则还会显示其状态。下面是可能的输出的列表:

  • NA:当前没有软件更新正在进行中。

  • Downloading:正在下载新软件。

  • Installing:正在安装新软件。

  • Requires Reboot:新软件已安装,而且需要重启设备。

    警告

    我们强烈建议您先暂停设备上的所有活动,然后再重启设备。重启设备会停止运行实例,并中断对设备上的 Amazon S3 存储桶的任何写入。所有这些过程都可能会导致丢失数据。

用法(已配置 Snowball Edge 客户端)

snowballEdge describe-device-software
例 输出
Installed version: 101 Installing version: 102 Install State: Downloading CertificateExpiry: Thur Jan 01 00:00:00 UTC 1970

snowballEdge download-updates:开始下载 Snowball Edge 的最新软件更新。

用法(已配置 Snowball Edge 客户端)

snowballEdge download-updates
例 输出
Download started. Run describe-device-software API for additional information.

snowballEdge install-updates:开始安装已下载的 Snowball Edge 的最新软件更新。

用法(已配置 Snowball Edge 客户端)

snowballEdge install-updates
例 输出
Installation started.

snowballEdge reboot-device:重启设备。

警告

我们强烈建议您先暂停设备上的所有活动,然后再重启设备。重启设备会停止运行实例,并中断对设备上的 Amazon S3 存储桶的任何写入。所有这些过程都可能会导致丢失数据。

用法(已配置 Snowball Edge 客户端)

snowballEdge reboot-device
例 输出
Rebooting device now.

snowballEdge configure-auto-update-strategies:配置自动更新策略。

用法(已配置 Snowball Edge 客户端)

snowballEdge configure-auto-update-strategy --auto-check autoCheck [--auto-check-frequency autoCheckFreq] --auto-download autoDownload [--auto-download-frequency autoDownloadFreq] --auto-install autoInstall [--auto-install-frequency autoInstallFreq] --auto-reboot autoReboot [--endpoint endpoint]
例 输出
Successfully configured auto update strategy. Run describe-auto-update-strategies for additional information.

snowballEdge describe-auto-update-strategies:返回任何当前配置的自动更新策略。

用法(已配置 Snowball Edge 客户端)

snowballEdge describe-auto-update-strategies
例 输出
auto-update-strategy {[ auto-check:true, auto-check-frequency: "0 0 * * FRI", // CRON Expression String, Every Friday at midnight auto-download:true, auto-download-frequency: "0 0 * * SAT", // CRON Expression String, Every Saturday at midnight auto-install:true, auto-install-frequency: "0 13 * * Sun", // CRON Expression String, Every Saturday at midnight auto-reboot: false; ]}

获取凭证

使用snowballEdge list-access-keyssnowballEdge get-secret-access-key命令,您可以在 Snowball Edge Amazon Web Services 账户 上获取您的管理员用户的凭据。您可以使用这些证书创建 Amazon Identity and Access Management (IAM 用户)和角色,并在使用 Amazon CLI 或与 Amazon SDK 配合使用时对您的请求进行身份验证。这些凭证仅与 Snowball Edge 的单个作业相关联,且仅可用于设备或设备集群。设备或设备集群在 Amazon Web Services 云中并不具有任何 IAM 权限。

注意

如果你在 Snowball Edge 上使用,则在配置 CLI 时必须使用这些证书。 Amazon CLI 有关为配置凭据的信息 Amazon CLI,请参阅Amazon Command Line Interface 用户指南》 Amazon CLI中的配置

用法(已配置 Snowball Edge 客户端)

snowballEdge list-access-keys
例 输出
{ "AccessKeyIds" : [ "AKIAIOSFODNN7EXAMPLE" ] }

用法(已配置 Snowball Edge 客户端)

snowballEdge get-secret-access-key --access-key-id Access Key
例 输出
[snowballEdge] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

在 Snowball Edge 上启动服务

Snowball Edge 除支持 Amazon S3 之外,还支持多个服务。其中包括计算实例、文件接口和 Amazon IoT Greengrass。Amazon S3 和 Amazon EC2 在默认情况下始终是开启的,但不能使用 Snowball Edge 客户端停止或重新启动。但是,文件接口和 Amazon IoT Greengrass 可以用snowballEdge start-service命令启动。要获取每个服务的服务 ID,您可以使用 snowballEdge list-services 命令。

运行此命令之前,请创建一个虚拟网络接口以绑定到您要启动的服务。有关更多信息,请参阅 创建虚拟网络接口

用法(已配置 Snowball Edge 客户端)

snowballEdge start-service --service-id service_id --virtual-network-interface-arns virtual-network-interface-arn
例 输出
Starting the Amazon service on your Snowball Edge. You can determine the status of the Amazon service using the describe-service command.

在 Snowball Edge 上停止服务

要停止正在 Snowball Edge 上运行的服务,您可以使用 snowballEdge stop-service 命令。

亚马逊 S3 适配器、亚马逊 EC2 和 IAM 服务无法停止。 Amazon STS

警告

如果在将剩余的缓冲数据写入设备之前停止文件接口,则可能会丢失数据。有关使用文件接口的更多信息,请参阅管理 NFS 接口

注意

停止 Snow 系列设备上与 Amazon S3 兼容的存储服务将禁止访问设备或集群上存储在 S3 存储桶中的数据。当 Snow 系列设备上与 Amazon S3 兼容的存储重新启动时,访问权限就会恢复。对于在 Snow 系列设备上启用了与 Amazon S3 兼容的存储的设备,建议在 Snowball Edge 设备开机后启动该服务。请参阅本指南中的设置 Snowball Edge

用法(已配置 Snowball Edge 客户端)

snowballEdge stop-service --service-id service_id
例 输出
Stopping the Amazon service on your Snowball Edge. You can determine the status of the Amazon service using the describe-service command.

启动 NFS 并限制访问

重要

如果您打算使用 Amazon Elastic Block Store(Amazon EBS),请不要启动 NFS 服务。首次启动 NFS 时,所有存储都会分配给 NFS。即使 NFS 服务已停止,也无法将 NFS 存储重新分配给 Amazon EBS。

注意

您可以为允许装载设备公开的 NFS 共享的 IP 范围提供 CIDR 块。例如,10.0.0.0/16。如果您没有提供允许的 CIDR 块,则所有装载请求都将遭到拒绝。

请注意,通过 NFS 传输的数据未进行传输中加密。

除 CIDR 块允许的主机外,Snowcone 不会为 NFS 共享提供身份验证或授权机制。

使用 snowballEdge start-service 命令启动 NFS。要获取 NFS 服务的服务 ID,您可以使用 snowballEdge list-services 命令。

运行此命令之前,请创建一个虚拟网络接口以绑定到您要启动的服务。有关更多信息,请参阅创建虚拟网络接口。您可以限制对 Amazon S3 存储桶中的文件共享和数据的访问,并查看当前存在哪些限制。为此,您可以在启动 NFS 服务时为允许访问您的文件共享和 S3 存储桶的主机分配 CIDR 块。

用法(已配置 Snowball Edge 客户端)

snowballEdge start-service --service-id nfs --virtual-network-interface-arns arn:aws:snowball-device:::interface/s.ni-12345fgh45678j --service-configuration AllowedHosts=ip address-1/32,ip address-2/24
例 示例输出
Starting the service on your Snowball Edge. You can determine the status of the service using the describe-service command.

在 NFS 运行时限制对 NFS 共享的访问

启动 NFS 后,您可以限制对 Amazon S3 存储桶中的文件共享和数据的访问。您可以查看当前存在哪些限制,并为每个存储桶设置不同的访问限制。为此,您可以在启动 NFS 服务时为访问您的文件共享和 S3 存储桶的主机分配 CIDR 块。示例命令如下。

用法(已配置 Snowball Edge 客户端)

snowballEdge start-service \ --service-id nfs \ --virtual-network-interface-arns virtual-network-interface-arn --service-configuration AllowedHosts=ip-address-1/32,ip-address-1/24

要查看当前的限制,请使用 describe-service 命令。

snowballEdge describe-service --service-id nfs

Amazon Snowball Edge 日志

当您在本地数据中心和 Snowball Edge 之间传输数据时,系统将会自动生成日志。如果您在将数据传输到设备的过程中遇到意外错误,则可以使用以下命令将日志副本保存到本地服务器。

有三个与日志相关的命令:

  • list-logs:返回 JSON 格式的日志列表。此列表报告日志的大小(以字节为单位)、日志的 ARN、日志的服务 ID 和日志的类型。

    用法(已配置 Snowball Edge 客户端)

    snowballEdge list-logs
    例 输出
    { "Logs" : [ { "LogArn" : "arn:aws:snowball-device:::log/s3-storage-JIEXAMPLE2f-1234-4953-a7c4-dfEXAMPLE709", "LogType" : "SUPPORT", "ServiceId" : "s3", "EstimatedSizeBytes" : 53132614 }, { "LogArn" : "arn:aws:snowball-device:::log/fileinterface-JIDEXAMPLEf-1234-4953-a7c4-dfEXAMPLE709", "LogType" : "CUSTOMER", "ServiceId" : "fileinterface", "EstimatedSizeBytes" : 4446 }] }
  • get-log— 按指定路径将特定日志的副本从 Snowball Edge 下载到您的服务器。 CUSTOMER日志以该.zip格式保存,您可以提取此类日志以查看其内容。 SUPPORT日志经过加密,只能由 Amazon Web Services Support 工程师读取。您可以选择为日志指定名称和路径。

    用法(已配置 Snowball Edge 客户端)

    snowballEdge get-log --log-arn arn:aws:snowball-device:::log/fileinterface-JIDEXAMPLEf-1234-4953-a7c4-dfEXAMPLE709
    例 输出
    Logs are being saved to download/path/snowball-edge-logs-1515EXAMPLE88.bin
  • get-support-logs:从 Snowball Edge 将所有 SUPPORT 类型的日志副本下载到指定路径的服务器上。

    用法(已配置 Snowball Edge 客户端)

    Snowball Edge 客户端

    snowballEdge get-support-logs
    例 输出
    Logs are being saved to download/path/snowball-edge-logs-1515716135711.bin
重要

CUSTOMER 类型可能包含有关您自己的数据的敏感信息。为了保护此潜在敏感信息,我们强烈建议您在用完这些日志之后将其删除。

获取设备状态

可以使用以下 Snowball Edge 客户端命令确定 Snowball Edge 设备的状态和整体运行状况:

  • describe-device

    用法(已配置 Snowball Edge 客户端)

    snowballEdge describe-device
    例 输出
    { "DeviceId" : "JID-EXAMPLE12345-123-456-7-890", "UnlockStatus" : { "State" : "UNLOCKED" }, "ActiveNetworkInterface" : { "IpAddress" : "192.0.2.0" }, "PhysicalNetworkInterfaces" : [ { "PhysicalNetworkInterfaceId" : "s.ni-EXAMPLEd9ecbf03e3", "PhysicalConnectorType" : "QSFP", "IpAddressAssignment" : "STATIC", "IpAddress" : "0.0.0.0", "Netmask" : "0.0.0.0", "DefaultGateway" : "192.0.2.1", "MacAddress" : "EX:AM:PL:E0:12:34", "MtuSize" : "1500" }, { "PhysicalNetworkInterfaceId" : "s.ni-EXAMPLE4c3840068f", "PhysicalConnectorType" : "SFP_PLUS", "IpAddressAssignment" : "DHCP", "IpAddress" : "192.0.2.2", "Netmask" : "255.255.255.0", "DefaultGateway" : "192.0.2.1", "MacAddress" : "EX:AM:PL:E0:56:78", "MtuSize" : "5743" }, { "PhysicalNetworkInterfaceId" : "s.ni-EXAMPLE0a3a6499fd", "PhysicalConnectorType" : "RJ45", "IpAddressAssignment" : "STATIC", "IpAddress" : "0.0.0.0", "Netmask" : "0.0.0.0", "DefaultGateway" : "192.0.2.1", "MacAddress" : "EX:AM:PL:E0:90:12", "MtuSize" : "1500" } ], "DeviceCapacities" : [ { "Name" : "HDD Storage", "Unit" : "Byte", "Total" : 39736350227824, "Available" : 39707789471744 }, { "Name" : "SSD Storage", "Unit" : "Byte", "Total" : 6979321856000, "Available" : 6884832575488 }, { "Name" : "vCPU", "Unit" : "Number", "Total" : 52, "Available" : 49 }, { "Name" : "Memory", "Unit" : "Byte", "Total" : 223338299392, "Available" : 216895848448 }, { "Name" : "GPU", "Unit" : "Number", "Total" : 0, "Available" : 0 } ], "DeviceType" : "EDGE_C" }
  • describe-cluster

    用法(已配置 Snowball Edge 客户端)

    snowballEdge describe-cluster
    例 输出
    { "ClusterId" : "CIDEXAMPLE7-5402-4c19-9feb-7c9EXAMPLEd5", "Devices" : [ { "DeviceId" : "JIDEXAMPLE2-bc53-4618-a538-917EXAMPLE94", "UnlockStatus" : { "State" : "UNLOCKED" }, "ActiveNetworkInterface" : { "IpAddress" : "192.0.2.0" }, "ClusterAssociation" : { "State" : "ASSOCIATED", "ClusterId" : "CIDEXAMPLE7-5402-4c19-9feb-7c9EXAMPLEd5" }, "NetworkReachability" : { "State" : "REACHABLE" } }, { "DeviceId" : "JIDEXAMPLE2-bc53-4618-a538-917EXAMPLE94", "UnlockStatus" : { "State" : "UNLOCKED" }, "ActiveNetworkInterface" : { "IpAddress" : "192.0.2.1" }, "ClusterAssociation" : { "State" : "ASSOCIATED", "ClusterId" : "CIDEXAMPLE7-5402-4c19-9feb-7c9EXAMPLEd5" }, "NetworkReachability" : { "State" : "REACHABLE" } }, { "DeviceId" : "JIDEXAMPLE2-bc53-4618-a538-917EXAMPLE94", "UnlockStatus" : { "State" : "UNLOCKED" }, "ActiveNetworkInterface" : { "IpAddress" : "192.0.2.2" }, "ClusterAssociation" : { "State" : "ASSOCIATED", "ClusterId" : "CIDEXAMPLE7-5402-4c19-9feb-7c9EXAMPLEd5" }, "NetworkReachability" : { "State" : "REACHABLE" } }, { "DeviceId" : "JIDEXAMPLE2-bc53-4618-a538-917EXAMPLE94", "UnlockStatus" : { "State" : "UNLOCKED" }, "ActiveNetworkInterface" : { "IpAddress" : "192.0.2.3" }, "ClusterAssociation" : { "State" : "ASSOCIATED", "ClusterId" : "CIDEXAMPLE7-5402-4c19-9feb-7c9EXAMPLEd5" }, "NetworkReachability" : { "State" : "REACHABLE" } }, { "DeviceId" : "JIDEXAMPLE2-bc53-4618-a538-917EXAMPLE94", "UnlockStatus" : { "State" : "UNLOCKED" }, "ActiveNetworkInterface" : { "IpAddress" : "192.0.2.4" }, "ClusterAssociation" : { "State" : "ASSOCIATED", "ClusterId" : "CIDEXAMPLE7-5402-4c19-9feb-7c9EXAMPLEd5" }, "NetworkReachability" : { "State" : "REACHABLE" } } ] }

获取服务状态

可以使用 describe-service 命令确定 Snowball Edge 设备上运行的服务的状态和整体运行状况。可以首先运行 list-services 命令来查看哪些服务正在运行。

  • list-services

    用法(已配置 Snowball Edge 客户端)

    snowballEdge list-services
    例 输出
    { "ServiceIds" : [ "greengrass", "fileinterface", "s3", "ec2", "s3-snow" ] }
  • describe-service

    此命令返回服务的状态值。它还包括状态信息,这些信息有助于解决您使用服务时可能遇到的问题。这些状态如下所示。

    • ACTIVE:服务正在运行且可供使用。

    • ACTIVATING:服务正在启动,但是还不能使用。

    • DEACTIVATING:服务正处于关闭过程中。

    • DEGRADED:对于 Snow Family 设备上与 Amazon S3 兼容的存储,此状态表示集群中的一个或多个磁盘或设备已关闭。Snow 系列设备上与 Amazon S3 兼容的存储服务可不间断地运行,但您应该在集群仲裁丢失之前恢复或更换受影响的设备,从而最大限度地降低数据丢失的风险。请参阅本指南中的集群概述

    • INACTIVE:服务未运行,无法使用。

    用法(已配置 Snowball Edge 客户端)

    snowballEdge describe-service --service-id service-id
    例 输出
    { "ServiceId" : "s3", "Status" : { "State" : "ACTIVE" }, "Storage" : { "TotalSpaceBytes" : 99608745492480, "FreeSpaceBytes" : 99608744468480 }, "Endpoints" : [ { "Protocol" : "http", "Port" : 8080, "Host" : "192.0.2.0" }, { "Protocol" : "https", "Port" : 8443, "Host" : "192.0.2.0", "CertificateAssociation" : { "CertificateArn" : "arn:aws:snowball-device:::certificate/6d955EXAMPLEdb71798146EXAMPLE3f0" } } ] }
    例 Snow 系列设备上与 Amazon S3 兼容的存储服务输出

    describe-service命令为参数的 s3-snow 值提供以下输出。service-id

    { "ServiceId" : "s3-snow", "Autostart" : false, "Status" : { "State" : "ACTIVE" }, "ServiceCapacities" : [ { "Name" : "S3 Storage", "Unit" : "Byte", "Used" : 640303104, "Available" : 219571981512 } ], "Endpoints" : [ { "Protocol" : "https", "Port" : 443, "Host" : "10.0.2.123", "CertificateAssociation" : { "CertificateArn" : "arn:aws:snowball-device:::certificate/a65ba817f2c5ac9683fc3bc1ae123456" }, "Description" : "s3-snow bucket API endpoint", "DeviceId" : "JID6ebd4c50-c3a1-4b16-b32c-b254f9b7f2dc", "Status" : { "State" : "ACTIVE" } }, { "Protocol" : "https", "Port" : 443, "Host" : "10.0.3.202", "CertificateAssociation" : { "CertificateArn" : "arn:aws:snowball-device:::certificate/a65ba817f2c5ac9683fc3bc1ae123456" }, "Description" : "s3-snow object API endpoint", "DeviceId" : "JID6ebd4c50-c3a1-4b16-b32c-b254f9b7f2dc", "Status" : { "State" : "ACTIVE" } }, { "Protocol" : "https", "Port" : 443, "Host" : "10.0.3.63", "CertificateAssociation" : { "CertificateArn" : "arn:aws:snowball-device:::certificate/a65ba817f2c5ac9683fc3bc1ae123456" }, "Description" : "s3-snow bucket API endpoint", "DeviceId" : "JID2a1e0deb-38b1-41f8-b904-a396c62da70d", "Status" : { "State" : "ACTIVE" } }, { "Protocol" : "https", "Port" : 443, "Host" : "10.0.2.243", "CertificateAssociation" : { "CertificateArn" : "arn:aws:snowball-device:::certificate/a65ba817f2c5ac9683fc3bc1ae123456" }, "Description" : "s3-snow object API endpoint", "DeviceId" : "JID2a1e0deb-38b1-41f8-b904-a396c62da70d", "Status" : { "State" : "ACTIVE" } }, { "Protocol" : "https", "Port" : 443, "Host" : "10.0.2.220", "CertificateAssociation" : { "CertificateArn" : "arn:aws:snowball-device:::certificate/a65ba817f2c5ac9683fc3bc1ae123456" }, "Description" : "s3-snow bucket API endpoint", "DeviceId" : "JIDcc45fa8f-b994-4ada-a821-581bc35d8645", "Status" : { "State" : "ACTIVE" } }, { "Protocol" : "https", "Port" : 443, "Host" : "10.0.2.55", "CertificateAssociation" : { "CertificateArn" : "arn:aws:snowball-device:::certificate/a65ba817f2c5ac9683fc3bc1ae123456" }, "Description" : "s3-snow object API endpoint", "DeviceId" : "JIDcc45fa8f-b994-4ada-a821-581bc35d8645", "Status" : { "State" : "ACTIVE" } }, { "Protocol" : "https", "Port" : 443, "Host" : "10.0.3.213", "CertificateAssociation" : { "CertificateArn" : "arn:aws:snowball-device:::certificate/a65ba817f2c5ac9683fc3bc1ae123456" }, "Description" : "s3-snow bucket API endpoint", "DeviceId" : "JID4ec68543-d974-465f-b81d-89832dd502db", "Status" : { "State" : "ACTIVE" } }, { "Protocol" : "https", "Port" : 443, "Host" : "10.0.3.144", "CertificateAssociation" : { "CertificateArn" : "arn:aws:snowball-device:::certificate/a65ba817f2c5ac9683fc3bc1ae123456" }, "Description" : "s3-snow object API endpoint", "DeviceId" : "JID4ec68543-d974-465f-b81d-89832dd502db", "Status" : { "State" : "ACTIVE" } }, { "Protocol" : "https", "Port" : 443, "Host" : "10.0.2.143", "CertificateAssociation" : { "CertificateArn" : "arn:aws:snowball-device:::certificate/a65ba817f2c5ac9683fc3bc1ae123456" }, "Description" : "s3-snow bucket API endpoint", "DeviceId" : "JID6331b8b5-6c63-4e01-b3ca-eab48b5628d2", "Status" : { "State" : "ACTIVE" } }, { "Protocol" : "https", "Port" : 443, "Host" : "10.0.3.224", "CertificateAssociation" : { "CertificateArn" : "arn:aws:snowball-device:::certificate/a65ba817f2c5ac9683fc3bc1ae123456" }, "Description" : "s3-snow object API endpoint", "DeviceId" : "JID6331b8b5-6c63-4e01-b3ca-eab48b5628d2", "Status" : { "State" : "ACTIVE" } } ] }

从集群中删除节点

disassociate-device 命令从 Snowball Edge 集群中删除节点。如果要替换运行状况不佳的节点,请使用此命令。有关集群的更多信息,请参阅本指南中的集群概述

重要

仅在您要删除运行状况不佳的节点时才应使用 disassociate-device 命令。如果您尝试删除正常节点,此命令将失败并返回错误。

如果节点意外关闭或断开网络连接,从而临时对集群的其余部分不可用,不要使用此命令删除该节点。使用此命令删除的节点无法添加到任何集群中,必须寄回 Amazon。

如果节点意外关闭电源或断开网络连接,请将节点重新通电并连接到网络,然后使用 associate-device 命令。您不能使用 disassociate-device 命令来取消关联已启动并正常运行的节点。

用法(已配置 Snowball Edge 客户端)

snowballEdge disassociate-device --device-id Job ID for the Device
例 输出
Disassociating your Snowball Edge device from the cluster. Your Snowball Edge device will be disassociated from the cluster when it is in the "DISASSOCIATED" state. You can use the describe-cluster command to determine the state of your cluster.

向集群添加节点

associate-device 命令将节点添加到 Snowball Edge 设备的集群。如果您关闭了一个节点,则它会从解锁状态恢复为锁定状态。要解锁该节点,您可以使用此命令。使用此命令将不可用节点替换为您预定作为替换的新节点。有关集群的更多信息,请参阅本指南中的集群概述

用法(已配置 Snowball Edge 客户端)

snowballEdge associate-device --device-ip-address IP Address
例 输出
Associating your Snowball Edge device with the cluster. Your Snowball Edge device will be associated with the cluster when it is in the ASSOCIATED state. You can use the describe-cluster command to determine the state of your cluster.

为您的设备创建标签

在设备上添加或覆盖指定标签。您最多可以创建 50 个标签。每个标签由一个键值对组成。值是可选的。

注意

不要在标签中放置敏感数据。

用法(已配置 Snowball Edge 客户端)

snowballEdge create-tags --tag Key=Name,Value=user-test --tag Key=Stage,Value=beta

有关更多信息,请运行 describe-tags 命令。

例 输出
Tag(s) [Key=Name,Value=test, Key=Stage,Value=beta] created.

从您的设备删除标签

delete-tags 命令会从 Snowball Edge 设备中删除指定标签。

用法(已配置 Snowball Edge 客户端)

snowballEdge delete-tags --tag Key=Stage,Value=beta Tag(s) [Key=Stage,Value=beta] deleted.

有关更多信息,请运行 describe-tags 命令。

注意

如果要同时删除多个标签,可以指定多个键值对,如下所示:

delete-tags --tag Key=Name,Value=test --tag Key=Stage,Value=Beta

如果您指定了标签键而没有指定标签值,则将删除任何具有此键的标签,而不管其值如何。如果您指定了标签键并将空字符串作为标签值,则仅删除将空字符串作为值的标签。

描述设备上的标签

describe-tags 命令描述 Snowball Edge 设备上的标签。

用法(已配置 Snowball Edge 客户端)

snowballEdge describe-tags

有关更多信息,请运行 describe-tags 命令。

例 输出
{ "Tags" : [ { "Key" : "Name", "Value" : "user-test" }, { "Key" : "Stage", "Value" : "beta" } ] }

创建直接网络接口

使用create-direct-network-interface命令在 Snow Family 设备上创建直接网络接口。直接网络接口 (DNI) 必须与 AMI 实例关联。您可以使用vlan参数为接口分配虚拟局域网 (VLAN) ID,以使用该 VLAN ID 标记来自该接口的所有流量。此外,您还可以使用mac参数为 DNI 分配媒体访问控制 (MAC) 地址。如果您不提供mac参数和值,则会自动分配 MAC 地址。

您可以使用describe-device命令来检索物理网络接口 ID。有关更多信息,请参阅 获取设备状态

snowballEdge create-direct-network-interface --instance-id AMI-instance-id --physical-network-interface-id physical-network-interface-id --vlan vlan-id --mac MAC-address
例 的create-direct-network-interface命令输出
{ "DirectNetworkInterface" : { "DirectNetworkInterfaceArn" : "arn:aws:snowball-device:::interface/s.ni-x8a3b6k1e9n4r2s7o", "PhysicalNetworkInterfaceId : "s.ni-p5d2q8r3s9t4u7v1w", "InstanceId" : "s.i-g9h2j4k6l8m1n3p5q", "Driver" : "mlx5 core", "MacAddress" : "1A:2B:3C:4D:5E:6F", "MtuSize": "1500" } }

获取有关直接网络接口的信息

使用describe-direct-network-interface命令查看 Snow Family 设备上直接网络接口的相关信息。

snowballEdge describe-direct-network-interfaces --endpoint https://snow-device-ip-address --manifest-file path/to/manifest/file.bin --unlock-code unlock-code
例 的descibe-direct-network-interfaces命令输出
{ "DirectNetworkInterface" : { "DirectNetworkInterfaceArn" : "arn:aws:snowball-device:::interface/s.ni-x8a3b6k1e9n4r2s7o", "PhysicalNetworkInterfaceId : "s.ni-p5d2q8r3s9t4u7v1w", "InstanceId" : "s.i-g9h2j4k6l8m1n3p5q", "Driver" : "mlx5 core", "MacAddress" : "1A:2B:3C:4D:5E:6F", "MtuSize": "1500" } }

更新直接网络接口

使用update-direct-network-interface更改直接网络接口 (DNI) 的属性。当您更改连接到 Amazon EC2 兼容实例的 DNI 时,接口将被分离。要更改 DNI 正在使用的物理接口的最大传输单元 (MTU),请使用命令。update-mtu-size有关更多信息,请参阅 更新 MTU 大小

snowballEdge update-direct-network-interface --direct-network-interface-arn directNetworkInterfaceArn // --endpoint https://snow-device-ip-address [--mac macAddress] // --manifest-file path/to/manifest/file.bin --unlock-code unlock-code // [--vlan vlanId] [--attach-instance-id instanceId | --detach]
例 的update-direct-network-interface命令输出
{ "DirectNetworkInterface" : { "DirectNetworkInterfaceArn" : "arn:aws:snowball-device:::interface/s.ni-x8a3b6k1e9n4r2s7o", "PhysicalNetworkInterfaceId : "s.ni-p5d2q8r3s9t4u7v1w", "InstanceId" : "s.i-g9h2j4k6l8m1n3p5q", "Driver" : "mlx5 core", "MacAddress" : "2A:3B:5C:5D:6E:7F", "MtuSize": "1500" } }

删除直接网络接口

使用delete-direct-network-interface命令删除直接网络接口 (DNI)。要删除与兼容 Amazon EC2 的计算实例关联的 DNI,请先使用update-direct-network-interface命令的detatch参数将 DNI 与该实例分离。有关更多信息,请参阅 更新直接网络接口

snowballEdge delete-direct-network-interface --direct-network-interface-arn directNetworkInterfaceArn // --endpoint https://snow-device-ip-address --manifest-file path/to/manifest/file.bin // [--profile profile] --unlock-code unlock-code
例 的delete-direct-network-interface命令输出
The direct network interface has been deleted from your Snowball Edge. You can determine the direct network interfaces available on your Snowball Edge using the describe-direct-network-interfaces command.

创建虚拟网络接口 (VNI)

使用create-virtual-network-interface命令在 Snowball Edge 设备上创建虚拟网络接口。您可以使用describe-device命令来检索物理网络接口 ID。有关更多信息,请参阅 获取设备状态

注意

仅当使用static-ip-address-configuration参数STATIC值时,该ip-address-assignment参数才有效。

snowballEdge create-virtual-network-interface --endpoint https://ip-address-of-snow-device --manifest-file /path/to/manifest/file.bin --unlock-code unlock-code --ip-address-assignment DHCP or STATIC --physical-network-interface-id [physical network interface id] --static-ip-address-configuration IpAddress=IP-address,NetMask=netmask
例 的create-virtual-network-interface命令输出
{ "VirtualNetworkInterface": { "VirtualNetworkInterfaceArn": "arn:aws:snowball-device:::interface/s.ni-8EXAMPLE8EXAMPLEf", "PhysicalNetworkInterfaceId": "s.ni-8EXAMPLEaEXAMPLEd", "IpAddressAssignment": "DHCP", "IpAddress": "192.0.2.0", "Netmask": "255.255.255.0", "DefaultGateway": "192.0.2.1", "MacAddress": "EX:AM:PL:E1:23:45", "MtuSize" : "1500" } }

获取有关虚拟网络接口的信息

使用describe-virtual-network-interface命令查看 Snow Family 设备上虚拟网络接口的相关信息。

snowballEdge describe-direct-network-interfaces --endpoint https://ip-address-of-snow-device --manifest-file path/to/manifest/file.bin --unlock-code unlock-code
例 的descibe-virtual-network-interfaces命令输出
{ "VirtualNetworkInterface": { "VirtualNetworkInterfaceArn": "arn:aws:snowball-device:::interface/s.ni-8EXAMPLE8EXAMPLEf", "PhysicalNetworkInterfaceId": "s.ni-8EXAMPLEaEXAMPLEd", "IpAddressAssignment": "DHCP", "IpAddress": "192.0.2.0", "Netmask": "255.255.255.0", "DefaultGateway": "192.0.2.1", "MacAddress": "EX:AM:PL:E1:23:45", "MtuSize" : "1500" } }

更新虚拟网络接口

使用update-virtual-network-interface命令更新 Snow Family 设备上的虚拟网络接口。要更改 DNI 正在使用的物理接口的最大传输单元 (MTU),请使用命令。update-mtu-size有关更多信息,请参阅 更新 MTU 大小

snowballEdge update-virtual-network-interface --direct-network-interface-arn directNetworkInterfaceArn --endpoint https://ip-address-of-snow-device // --unlock-code unlock-code [--mac macAddress] --manifest-file path/to/manifest/file.bin // [--vlan vlanId] [--attach-instance-id instanceId | --detach]
例 的update-virtual-network-interface命令输出
{ "VirtualNetworkInterface": { "VirtualNetworkInterfaceArn": "arn:aws:snowball-device:::interface/s.ni-8EXAMPLE8EXAMPLEf", "PhysicalNetworkInterfaceId": "s.ni-8EXAMPLEaEXAMPLEd", "IpAddressAssignment": "DHCP", "IpAddress": "192.0.2.9", "Netmask": "255.255.255.0", "DefaultGateway": "192.0.2.1", "MacAddress": "EX:AM:PL:E1:23:45", "MtuSize" : "1500" } }

删除虚拟网络接口

使用delete-direct-network-interface命令删除虚拟网络接口 (VNI)。

snowballEdge delete-virtual-network-interface --virtual-network-interface-arn virtual-network-interface-ARN --endpoint https://endpoint // --manifest-file path/to/manifest/file.bin] [--profile profile] --unlock-code unlock-code]
例 的delte-direct-network-interface命令输出
The virtual network interface has been deleted from your Snowball Edge. You can determine the virtual network interfaces available on your Snowball Edge using the describe-virtual-network-interfaces command.

检查特征状态

要列出设备上可用功能的状态,请使用describe-features命令。

RemoteManagementState 会指示 Snow 设备管理的状态并返回以下状态之一:

  • INSTALLED_ONLY:该特征已安装但未启用。

  • INSTALLED_AUTOSTART— 该功能已启用,设备在开机 Amazon Web Services 区域 时将尝试连接到该功能。

  • NOT_INSTALLED:该设备不支持该特征,或者设备在该特征发布之前已投入使用。

用法(已配置 Snowball Edge 客户端)

snowballEdge describe-features \ --manifest-file manifest.bin path \ --unlock-code unlock-code \ --endpoint https://device-local-ip:9091

示例输出

{ "RemoteManagementState" : String }

设置时间服务器

您可以设置外部网络时间协议(NTP)服务器。在设备处于锁定和解锁状态时,您均可使用 NTP CLI 命令。清单和解锁代码是必需的。您可以使用 snowballEdge configure 命令或使用 --manifest-file--unlock-code 选项设置这些内容。请注意,您可以在 Amazon Snowcone Edge 和上使用 snowballEdge CLI Amazon Snowcone。

您有责任提供安全的 NTP 时间服务器。要设置设备连接到哪些 NTP 时间服务器,请使用 update-time-servers CLI 命令。

注意

update-time-servers 命令将覆盖以前的 NTP 时间服务器设置。

支持的 NTP 设备类型和软件版本

NTP 不适用于任何版本 2 存储和计算设备类型。但是,软件版本为 77 或更高版本的 Snowball Edge 版本 3 存储和计算设备类型支持 NTP。要检查是否启用了 NTP,请使用 Snowball Edge CLI 命令 describe-time-sources

用法

snowballEdge update-time-servers time.google.com
例 示例输出
Updating time servers now.

检查时间源

要查看设备当前连接到哪些 NTP 时间源,请使用 describe-time-sources Snowball Edge CLI 命令。

用法

snowballEdge describe-time-sources
例 示例输出
{ "Sources" : [ { "Address" : "172.31.2.71", "State" : "LOST", "Type" : "PEER", "Stratum" : 10 }, { "Address" : "172.31.3.203", "State" : "LOST", "Type" : "PEER", "Stratum" : 10 }, { "Address" : "172.31.0.178", "State" : "LOST", "Type" : "PEER", "Stratum" : 10 }, { "Address" : "172.31.3.178", "State" : "LOST", "Type" : "PEER", "Stratum" : 10 }, { "Address" : "216.239.35.12", "State" : "CURRENT", "Type" : "SERVER", "Stratum" : 1 } ] }

describe-time-sources 命令将返回时间源状态的列表。每个时间源状态都包含 AddressStateTypeStratum 字段。以下是这些字段的含义。

  • Address:时间源的 DNS 名称/IP 地址

  • State:设备与该时间源之间的当前连接状态。有五种可能的状态:

    • CURRENT:当前正在使用时间源来同步时间。

    • COMBINED:时间源与当前源合并。

    • EXCLUDED:合并算法排除了时间源。

    • LOST:与时间源的连接已断开。

    • UNACCEPTABLE:无效的时间源,其中组合算法被视为虚假或变化过大

  • Type:NTP 时间源可以是服务器或对等设备。可以通过 update-time-servers 命令设置服务器。对等设备只能是集群中的其他 Snowball Edge 设备,并在集群关联时自动设置。

  • Stratum:此字段显示源的阶层。阶层 1 表示具有本地连接的参考时钟的源。与阶层 1 源同步的源位于阶层 2。与阶层 2 源同步的源位于阶层 3,依此类推。

NTP 时间源可以是服务器或对等设备。服务器可以由用户使用 update-time-servers 命令进行设置,而对等设备只能是集群中的其他 Snowball Edge 设备。示例输出在 5 个设备组成的集群中的 Snowball Edge 上调用了 describe-time-sources。输出包含 4 个对等设备和 1 个服务器。对等设备的阶层为 10,而服务器的阶层为 1。因此,服务器被选为当前时间源。

更新 MTU 大小

使用update-mtu-size命令修改 Snow Family 设备物理接口的最大传输单位 (MTU) 的大小(以字节为单位)。所有与该物理网络接口关联的虚拟网络接口和直接网络接口都将配置为相同的 MTU 大小。

注意

最小 MTU 大小为 1500 字节,最大大小为 9216 字节。

您可以使用describe-device命令检索这些接口的物理网络接口 ID 和当前 MTU 大小。有关更多信息,请参阅 获取设备状态

您可以使用descibe-direct-network-interfacedescribe-virtual-network-interface命令来检索这些接口的当前 MTU 大小。有关更多信息,请参阅 获取有关直接网络接口的信息获取有关虚拟网络接口的信息

用法

snowballEdge update-mtu-size --physical-network-interface-id physical-network-interface-id --mtu-size size-in-bytes
update-mtu-size 输出
{ "PhysicalNetworkInterface": { "PhysicalNetworkInterfaceId": "s.ni-8c1f891d7f5b87cfe", "PhysicalConnectorType": "SFP_PLUS", "IpAddressAssignment": "DHCP", "IpAddress": "192.0.2.0", "Netmask": "255.255.255.0", "DefaultGateway": "192.0.2.255", "MacAddress": "8A:2r:5G:9p:6Q:4s", "MtuSize": "5743" } }