Snowball Edge 客户端的命令 - AWS Snowcone 用户指南

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

Snowball Edge 客户端的命令

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

注意

AWS Snowcone 设备使用相同的 Snowball Edge CLI 命令,但不支持适用于集群的命令。

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

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

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

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

重要

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

用法

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

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

如果您同时拥有多个作业,则可以拥有多个配置文件。有关多个 AWS CLI 配置文件的更多信息,请参阅《AWS Command Line Interface 用户指南》中的命名配置文件

获取用于 NFC 验证的 QR 代码

您可以使用此命令生成特定于设备的 QR 代码,以便与 AWS Snowcone Verification App 一起使用。您可以从 Apple 应用商店或 Google Play 商店下载此应用程序。有关 NFC 验证的更多信息,请参阅验证 NFC 标签

用法

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

解锁 AWS Snowcone 设备

要解锁独立 AWS Snowcone 设备,请运行 snowballEdge unlock-device 命令。这些命令将验证您对 AWS Snowcone 设备的访问权限。

当您运行其中一个解锁命令时,您可以手动输入清单文件的路径、29 个字符的解锁代码以及独立设备的 IP 地址。此过程可能会较为繁琐,因此我们建议您改为配置 Snowball Edge 客户端。如果您已经配置了 Snowball Edge 客户端,则只需输入命令本身,无需输入清单路径、解锁码或 IP 地址。

注意

要解锁与您的作业关联的设备,设备必须位于现场、已接通电源、接入网络并已启动。此外,AWS Snowcone 设备前面的 LCD 显示屏必须指明设备已准备就绪,可供使用。

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

snowballEdge unlock-device
例 解锁输出
Your AWS Snowcone device is unlocking. You may determine the unlock state of your device using the describe-device command. Your AWS Snowcone device will be available for use when it is in the UNLOCKED state.

更新 Snowcone

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

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

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

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

snowballEdge describe-device-software – 返回设备的当前软件版本。此外,如果正在下载更新,则还会显示下载状态。如果软件更新正在进行中,则还会显示更新的版本清单以及安装的状态。下面是可能的输出的列表:

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

  • Downloading – 正在下载新软件。

  • Installing – 正在安装新软件。

  • Requires Reboot – 新软件已安装,而且必须重启设备。

    警告

    我们强烈建议您先暂停设备上的所有活动,然后再重启设备。重启设备将停止正在运行的实例,中断对设备上的 Amazon S3 存储桶的任何写入操作,以及从文件接口停止任何写入操作而不清除缓存。所有这些过程都可能会导致丢失数据。

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

snowballEdge describe-device-software
例 示例输出
Installed version: 101 Installing version: 102 Install State: Downloading

snowballEdge download-updates – 开始下载 Snowcone 设备的最新软件更新。

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

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

snowballEdge install-updates – 开始安装已下载的 Snowcone 设备的最新软件更新。

用法(已配置 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 命令,可以获取您的本地凭证。在使用 AWS CLI 或 AWS 开发工具包时,可以使用这些凭证对您的请求进行身份验证。这些凭证仅与 Snowcone 的单个作业相关联,且仅可在设备上使用。设备在 AWS Cloud中并不具有任何 AWS Identity and Access Management (IAM) 权限。

有关更多信息,请参阅 AWS凭证使用 Amazon EC2 端点

注意

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

用法(已配置 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

在 Snowcone 设备上启动服务

Snowcone 支持多种服务,包括计算实例、NFS 文件接口、Amazon EC2 和 AWS DataSync。您可以使用 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 AWS service on your Snowball Edge . You can determine the status of the AWS service using the describe-service command.

在 Snowcone 设备上停止服务

要停止正在 Snowcone 设备上运行的服务,您可以使用 snowballEdge stop-service 命令。Amazon EC2 服务无法停止。

警告

如果在将剩余的缓冲数据写入设备之前停止文件接口,则可能会丢失数据。

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

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

获取您的证书以传输数据

要将数据传输到 Snowcone 设备,请使用 NFS 文件接口或 AWS DataSync。如果您解锁具有其他 IP 地址的 Snowcone 设备,则会生成新证书,旧证书不再可用于端点。您可以再次使用 get-certificate 命令从 Snowcone 设备获取新的已更新证书。

可以使用以下命令列出这些证书并从您的 Snowcone 设备下载它们:

  • list-certificates – 列出可供使用的证书的 Amazon 资源名称 (ARN)。

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

    snowballEdge list-certificates
    例 示例输出
    { "Certificates" : [ { "CertificateArn" : "arn:aws:snowball-device:::certificate/78EXAMPLE516EXAMPLEf538EXAMPLEa7", "SubjectAlternativeNames" : [ "192.0.2.0" ] } ] }
  • get-certificate – 根据提供的 ARN 获取特定证书。

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

    snowballEdge get-certificate --certificate-arn arn:aws:snowball-device:::certificate/78EXAMPLE516EXAMPLEf538EXAMPLEa7
    例 示例输出
    -----BEGIN CERTIFICATE----- Certificate -----END CERTIFICATE-----

AWS Snowcone 日志

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

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

  • 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" : "datasync", "EstimatedSizeBytes" : 53132614 }, { "LogArn" : "arn:aws:snowball-device:::log/fileinterface-JIDEXAMPLEf-1234-4953-a7c4-dfEXAMPLE709", "LogType" : "CUSTOMER", "ServiceId" : "nfs", "EstimatedSizeBytes" : 4446 }] }
  • get-log – 从 Snowcone 设备将特定日志副本下载到指定路径的服务器上。CUSTOMER 日志保存为 .zip 格式,并且可解压缩此类型的日志以查看其内容。SUPPORT 日志已加密,只能由 AWS 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--logs-1515EXAMPLE88.bin
  • get-support-logs – 从 Snowcone 设备将所有 SUPPORT 类型的日志副本下载到指定路径的服务器上。

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

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

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

获取设备状态

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

  • describe-device

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

    snowballEdge describe-device
    例 示例输出
    { "DeviceId" : "JIDbEXAMPLE-7eed-1234-ABCD-7EXAMPLE123c", "UnlockStatus" : { "State" : "UNLOCKED" }, "ActiveNetworkInterface" : { "IpAddress" : "192.168.1.2" }, "PhysicalNetworkInterfaces" : [ { "PhysicalNetworkInterfaceId" : "s.ni-8bEXAMPLE5EXAMPLE", "PhysicalConnectorType" : "RJ45", "IpAddressAssignment" : "DHCP", "IpAddress" : "192.168.1.13", "Netmask" : "255.255.255.0", "DefaultGateway" : "192.168.1.1", "MacAddress" : "EX:AM:PL:E0:12:34" }, { "PhysicalNetworkInterfaceId" : "s.ni-84EXAMPLE3EXAMPLE", "PhysicalConnectorType" : "RJ45_2", "IpAddressAssignment" : "STATIC", "IpAddress" : "0.0.0.0", "Netmask" : "0.0.0.0", "DefaultGateway" : "192.168.1.1", "MacAddress" : "EX:AM:PL:E0:12:34" }, { "PhysicalNetworkInterfaceId" : "s.ni-87EXAMPLE5EXAMPLE", "PhysicalConnectorType" : "WIFI", "IpAddressAssignment" : "STATIC", "IpAddress" : "0.0.0.0", "Netmask" : "0.0.0.0", "DefaultGateway" : "192.168.1.1", "MacAddress" : "EX:AM:PL:E0:12:34" } ], "DeviceCapacities" : [ { "Name" : "HDD Storage", "Unit" : "Byte", "Total" : 157242114048, "Used" : 81604378624, "Available" : 75637735424 }, { "Name" : "SSD Storage", "Unit" : "Byte", "Total" : 0, "Used" : 0, "Available" : 0 }, { "Name" : "vCPU", "Unit" : "Number", "Total" : 3, "Used" : 3, "Available" : 0 }, { "Name" : "Memory", "Unit" : "Byte", "Total" : 5368709120, "Used" : 5368709120, "Available" : 0 }, { "Name" : "GPU", "Unit" : "Number", "Total" : 0, "Used" : 0, "Available" : 0 } ], "DeviceType" : "SNC1_HDD" }

获取服务状态

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

  • list-services

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

    snowballEdge list-services
    例 示例输出
    { "ServiceIds" : [ "nfs", "datasync", "ec2" ] }
  • describe-service

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

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

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

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

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

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

    snowballEdge describe-service --service-id service-id
    例 示例输出
    { "ServiceId" : "ec2", "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" } } ] }

启动 AWS DataSync AMI

在 Snowcone 上启动 AWS DataSync AMI。

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

AWS DataSync 必须通过 snc1.medium 实例类型启动。使用不同的实例类型启动 DataSync 可能会导致运行不稳定和数据丢失的风险。使用 describe-images 命令查找要从中启动实例的映像。输出如下所示。

{ "ImageId": "s.ami-0c046f119de4f752f", "Public": false, "State": "AVAILABLE", "BlockDeviceMappings": [ { "DeviceName": "/dev/sda", "Ebs": { "DeleteOnTermination": true, "Iops": 0, "SnapshotId": "s.snap-0d7558ce444ab09bf", "VolumeSize": 20, "VolumeType": "sbp1" } } ], "Description": "AWS DataSync AMI for online data transfer", "EnaSupport": false, "Name": "scn-datasync-ami", "RootDeviceName": "/dev/sda" }
aws ec2 describe-instances --endpoint http://${snowcone_ip}:8008
例 示例输出
{ "Reservations": [ { "Instances": [ { "AmiLaunchIndex": 0, "ImageId": "s.image id", "InstanceId": "s.instance id", "InstanceType": "snc1.medium", "LaunchTime": "2020-03-06T18:58:36.609Z", "PrivateIpAddress": "ip address", "State": { "Code": 16, "Name": "running" }, "BlockDeviceMappings": [ { "DeviceName": "/dev/sda", "Ebs": { "AttachTime": "2020-03-06T19:14:21.336Z", "DeleteOnTermination": true, "Status": "attached", "VolumeId": "s.volume id" } } ], "EbsOptimized": false, "EnaSupport": false, "RootDeviceName": "/dev/sda", "SecurityGroups": [ { "GroupName": "default", "GroupId": "s.security group id" } ], "SourceDestCheck": false, "CpuOptions": { "CoreCount": 2, "ThreadsPerCore": 1 } } ], "ReservationId": "s.r-80c8ee6b041b29eb4" }, ] }

运行实例。

aws ec2 run-instances --image-id s.ami id \--instance-type snc1.medium --endpoint http://${snowcone_ip}:8008
例 示例输出
{ "Instances": [ { "AmiLaunchIndex": 0, "ImageId": "s.ami-0623310b494365cc5", "InstanceId": "s.i-80c8ee6b041b29eb4", "InstanceType": "snc1.medium", "State": { "Code": 0, "Name": "pending" }, "EbsOptimized": false, "EnaSupport": false, "RootDeviceName": "/dev/sda", "SecurityGroups": [ { "GroupName": "default", "GroupId": "s.sg-80c8ee6b041b29eb4" } ], "SourceDestCheck": false, "CpuOptions": { "CoreCount": 2, "ThreadsPerCore": 1 } } ], "ReservationId": "s.r-80c8ee6b041b29eb4" }

启动 NFS 并限制访问

重要

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

注意

在 NFS 服务启动之前,Snowcone 设备上的可用存储空间并不准确。

您可以为允许装载设备公开的 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 S3 存储桶的导出路径

没有用于获取 Amazon S3 存储桶导出路径的特定 Snowcone 命令。导出路径的格式如下所示。

/buckets/bucket-name.

启用本地 AWS 操作员调试

  • enable-local-aws-operator-debugging – 打开 SSH 端口 22,允许设备进行本地 AWS 操作员调试。

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

snowballEdge enable-local-aws-operator-debugging

禁用本地 AWS 操作员调试

  • disable-local-aws-operator-debugging – 关闭 SSH 端口 22,禁止设备进行本地 AWS 操作员调试。默认情况下,SSH 端口 22 处于关闭状态。当 Snowcone 设备关闭或重启电源时,本地 AWS 操作员调试将被禁用。

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

snowballEdge disable-local-aws-operator-debugging

创建直接网络接口

  • create-direct-network-interface 创建直接网络接口 (DNI)。创建直接网络接口,用于设备上与 Amazon EC2 兼容的计算实例。您可以使用 describe-direct-network-interfaces 命令在设备上找到可用的直接网络接口。

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

create-direct-network-interface [--endpoint endpoint] [--instance-id instanceId] [--mac macAddress] [--manifest-file manifestFile] [--physical-network-interface-id physicalNetworkInterfaceId] [--profile profile] [--unlock-code unlockCode] [--vlan vlanId]

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

  • describe-direct-network-interface – 获取设备上的直接网络接口。直接网络接口可用于在您的设备上为与 Amazon EC2 兼容的计算实例和服务配置联网。您可以使用 create-direct-network-interface 命令创建新的直接网络接口。

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

describe-direct-network-interfaces [--endpoint endpoint] [--manifest-file manifestFile] [--profile profile] [--unlock-code unlockCode]

更新直接网络接口

  • update-direct-network-interface – 更新直接网络接口。使用此命令更新将用于设备上 Amazon EC2 计算实例的直接网络接口。您可以使用 describe-direct-network-interfaces 命令在设备上找到可用的直接网络接口。在修改附加到 Amazon EC2 实例的网络接口时,应首先分离该接口。

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

update-direct-network-interface [--direct-network-interface-arn directNetworkInterfaceArn] [--endpoint endpoint] [--mac macAddress] [--manifest-file manifestFile] [--profile profile] [--unlock-code unlockCode] [--vlan vlanId] [--attach-instance-id instanceId | --detach]

删除直接网络接口

  • delete-direct-network-interface – 删除不再使用的直接网络接口。要删除与 Amazon EC2 计算实例关联的直接网络接口,您必须先取消直接网络接口与您的实例之间的关联。

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

delete-direct-network-interface [--direct-network-interface-arn directNetworkInterfaceArn] [--endpoint endpoint] [--manifest-file manifestFile] [--profile profile] [--unlock-code unlockCode]

检查特征状态

要列出设备上可用特征的状态,包括允许您远程管理 Snowcone 设备和本地 AWS 服务的 AWS Snow Device Management,请使用 describe-features 命令。

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

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

  • INSTALLED_AUTOSTART – 该特征已启用,设备将在开机时将尝试连接到其 AWS 区域。

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

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

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

示例输出

{ "RemoteManagementState" : String }

更改特征状态

要更改 AWS Snowcone 设备上可用特征的状态,请使用 set-features 命令。要启用或禁用 AWS Snow Device Management(允许您远程管理 Snowcone 设备和本地AWS服务),请使用 --remote-management-state 参数。在运行此命令之前,您必须先解锁设备。

您可以将 Snow Device Management 设置为以下状态:

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

  • INSTALLED_AUTOSTART – 该特征已启用,设备会在开机时将尝试连接到其 AWS 区域。

    注意

    NOT_INSTALLED 状态的存在只是为了识别不支持 Snow Device Management 或在该特征推出之前就已经投入使用的设备。无法在已部署的设备上安装或卸载特征。要使用 Snow Device Management,您必须预定一台预装了该特征的新设备。

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

snowballEdge set-features --remote-management-state INSTALLED_AUTOSTART --manifest-file ./JID2bf11d5a-fict-414a-b5b1-3bf7e6a6e83d_manifest.bin --unlock-code 73bb0-f8ke1-69a4a-f4288-4f88d --endpoint https://10.0.0.25

示例输出

{ "RemoteManagementState" : "INSTALLED_AUTOSTART" }

设置时间服务器

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

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

注意

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

用法

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。因此,服务器被选为当前时间源。