使用 Amazon Snow Device Management 管理设备 - Amazon Snowball Edge 开发者指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon Snow Device Management 管理设备

Amazon Snow Device Management 允许您远程管理您的 Snow 系列设备和本地 Amazon 服务。所有 Snow Family 设备都支持 Snow 设备管理,并且在大多数 Snow Family 设备可用Amazon Web Services 区域的地方,它都安装在新设备上。

使用 Snow 设备管理,您可以执行以下任务:

  • 创建任务。

  • 检查任务状态

  • 查看任务元数据

  • 取消任务

  • 查看设备信息

  • 检查与 Amazon EC2 兼容的实例状态

  • 列出命令和语法

  • 列出可远程管理的设备

  • 列出各设备的任务状态

  • 列出可用资源

  • 按状态列出任务

  • 列出设备或任务标签

  • 应用标签

  • 删除标签

在订购 Snow Family 设备时选择 Snow 设备管理状态

在创建订购 Snow 设备的任务时,您可以选择在收到设备时 Snow Device Management 将处于哪种状态:已安装但未激活,或者已安装并激活。如果已安装但未激活,则需要使用Amazon OpsHub或 Snowball Edge 客户端将其激活,然后才能使用它。如果已安装并激活 Snow 设备管理,则可以在收到设备并将其连接到本地网络后使用 Snow 设备管理。您可以在创建任务时选择 Snow 设备管理状态,通过Amazon Snow 系列管理控制台、Snowball Edge 客户端Amazon CLI、或 Snow 任务管理 API 订购设备。

要从中选择 Snow 设备管理状态 Amazon Snow 系列管理控制台
  1. 要选择安装和激活 Snow 设备管理,请选择使用远程管理您的 Snow 设备Amazon OpsHub或 Snowball 客户端

  2. 要选择安装但未激活 Snow 设备管理,请不要选择 “使用远程管理您的 Snow 设备Amazon OpsHub或 Snowball 客户端”。

有关更多信息,请参阅本指南中的步骤 3:选择您的功能和选项

要从 Snowball Edge 客户端或 Snow 作业管理 API 中选择 Snow 设备管理状态,请执行Amazon CLI以下操作:
  • 使用remote-management参数指定 Snow 设备管理状态。该参数的INSTALLED_ONLY值表示 Snow 设备管理已安装但未激活。该参数的INSTALLED_AUTOSTART值表示 Snow 设备管理已安装并激活。如果您未为此参数指定值,INSTALLED_ONLY则为默认值。

create-job命令remote-management参数的语法
aws snowball create-job \ --job-type IMPORT \ --remote-management INSTALLED_AUTOSTART --device-configuration '{"SnowconeDeviceConfiguration": {"WirelessConnection": {"IsWifiEnabled": false} } }' \ --resources '{"S3Resources":[{"BucketArn":"arn:aws:s3:::bucket-name"}]}' \ --description "Description here" \ --address-id ADID00000000-0000-0000-0000-000000000000 \ --kms-key-arn arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --role-arn arn:aws:iam::000000000000:role/SnowconeImportGamma \ --snowball-capacity-preference T8 \ --shipping-option NEXT_DAY \ --snowball-type SNC1_HDD \ --region us-west-2 \

有关更多信息,请参阅《API 参考》中的 Job 管理 Amazon Snowball API 参考。

激活 Snow 设备管理

按照以下步骤使用 Snowball Edge 客户端激活 Snow 设备管理。

在使用此过程之前,请执行以下操作:

snowballEdge set-features / --remote-management-state INSTALLED_AUTOSTART / --manifest-file JID1717d8cc-2dc9-4e68-aa46-63a3ad7927d2_manifest.bin / --unlock-code 7c0e1-bab84-f7675-0a2b6-f8k33 / --endpoint https://192.0.2.0:9091

命令成功后,Snowball Edge 客户端会返回以下内容。

{ "RemoteManagementState" : "INSTALLED_AUTOSTART" }

向 IAM 角色添加 Snow 设备管理权限

在预定设备使用的 Amazon Web Services 账户上创建一个 Amazon Identity and Access Management (IAM) 角色,并向角色添加以下策略。然后,将该角色分配给将通过 Snow Device Management 登录和远程管理您设备的 IAM 用户。有关更多信息,请参阅创建 IAM 角色在您的 Amazon Web Services 账户中创建 IAM 用户

Policy

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "snow-device-management:ListDevices", "snow-device-management:DescribeDevice", "snow-device-management:DescribeDeviceEc2Instances", "snow-device-management:ListDeviceResources", "snow-device-management:CreateTask", "snow-device-management:ListTasks", "snow-device-management:DescribeTask", "snow-device-management:CancelTask", "snow-device-management:DescribeExecution", "snow-device-management:ListExecutions", "snow-device-management:ListTagsForResource", "snow-device-management:TagResource", "snow-device-management:UntagResource" ], "Resource": "*" } ] }

Snow Device Management CLI 命令

此部分介绍可用于通过 Snow Device Management 远程管理 Snow 系列设备的 Amazon CLI 命令。您也可以使用 Amazon OpsHub for Snow Family 执行一些远程管理任务。有关更多信息,请参阅上的Amazon服务

注意

在管理设备之前,请确保设备已开启,已连接到您的网络,并且可以连接到设备预配的 Amazon Web Services 区域。

创建任务。

要指示一台或多台目标设备执行解锁或重启等任务,请使用 create-task。您可以通过提供带有 --targets 参数的托管设备 ID 列表来指定目标设备,并通过 --command 参数来指定要执行的任务。每台设备每次只能运行单个命令。

支持的命令

  • unlock(无参数)

  • reboot(无参数)

要创建由目标设备运行的任务,请使用以下命令。将每个 user input placeholder 替换为您自己的信息。

命令

aws snow-device-management create-task --targets smd-fictbgr3rbcjeqa5 --command reboot={}

异常

ValidationException ResourceNotFoundException InternalServerException ThrottlingException AccessDeniedException ServiceQuotaExceededException

输出

{ "taskId": "st-ficthmqoc2pht111", "taskArn": "arn:aws:snow-device-management:us-west-2:000000000000:task/st-cjkwhmqoc2pht111" }

检查任务状态

要检查在一台或多台目标设备上运行的远程任务的状态,请使用 describe-execution 命令。

任务可能具有以下状态之一:

  • QUEUED

  • IN_PROGRESS

  • CANCELED

  • FAILED

  • COMPLETED

  • REJECTED

  • TIMED_OUT

要查看任务的状态,请使用以下命令。将每个 user input placeholder 替换为您自己的信息。

命令

aws snow-device-management describe-execution \ --taskId st-ficthmqoc2phtlef \ --managed-device-id smd-fictqic6gcldf111

输出

{ "executionId": "1", "lastUpdatedAt": "2021-07-22T15:29:44.110000+00:00", "managedDeviceId": "smd-fictqic6gcldf111", "startedAt": "2021-07-22T15:28:53.947000+00:00", "state": "SUCCEEDED", "taskId": "st-ficthmqoc2pht111" }

查看设备信息

要查看设备特定的信息,例如设备类型、软件版本、IP 地址和锁定状态,请使用 describe-device 命令。输出还包括以下内容:

  • lastReachedOutAt – 设备上次联系 Amazon Web Services 云的时间。表示设备处于在线状态。

  • lastUpdatedAt – 设备上次更新数据的时间。表示设备缓存何时刷新。

要查看设备信息,请使用以下命令。将每个 user input placeholder 替换为您自己的信息。

命令

aws snow-device-management describe-device \ --managed-device-id smd-fictqic6gcldf111

异常

ValidationException ResourceNotFoundException InternalServerException ThrottlingException AccessDeniedException

输出

{ "associatedWithJob": "JID2bf11d5a-ea1e-414a-b5b1-3bf7e6a6e111", "deviceCapacities": [ { "available": 158892032000, "name": "HDD Storage", "total": 158892032000, "unit": "Byte", "used": 0 }, { "available": 0, "name": "SSD Storage", "total": 0, "unit": "Byte", "used": 0 }, { "available": 3, "name": "vCPU", "total": 3, "unit": "Number", "used": 0 }, { "available": 5368709120, "name": "Memory", "total": 5368709120, "unit": "Byte", "used": 0 }, { "available": 0, "name": "GPU", "total": 0, "unit": "Number", "used": 0 } ], "deviceState": "UNLOCKED", "deviceType": "SNC1_HDD", "lastReachedOutAt": "2021-07-23T21:21:56.120000+00:00", "lastUpdatedAt": "2021-07-23T21:21:56.120000+00:00", "managedDeviceId": "smd-fictqic6gcldf111", "managedDeviceArn": "arn:aws:snow-device-management:us-west-2:000000000000:managed-device/smd-fictqic6gcldf111" "physicalNetworkInterfaces": [ { "defaultGateway": "10.0.0.1", "ipAddress": "10.0.0.2", "ipAddressAssignment": "DHCP", "macAddress": "ab:cd:ef:12:34:56", "netmask": "255.255.252.0", "physicalConnectorType": "RJ45", "physicalNetworkInterfaceId": "s.ni-530f866d526d4b111" }, { "defaultGateway": "10.0.0.1", "ipAddress": "0.0.0.0", "ipAddressAssignment": "STATIC", "macAddress": "ab:cd:ef:12:34:57", "netmask": "0.0.0.0", "physicalConnectorType": "RJ45", "physicalNetworkInterfaceId": "s.ni-8abc787f0a6750111" } ], "software": { "installState": "NA", "installedVersion": "122", "installingVersion": "NA" }, "tags": { "Project": "PrototypeA" } }

检查与 Amazon EC2 兼容的实例状态

要检查 Amazon EC2 实例的当前状态,请使用 describe-ec2-instances 命令。该输出与 describe-device 命令的输出类似,但结果来自 Amazon Web Services 云中的设备缓存,并且包括可用字段的子集。

要检查与 Amazon EC2 兼容的实例的当前状态,请使用以下命令。将每个 user input placeholder 替换为您自己的信息。

命令

aws snow-device-management describe-device-ec2-instances \ --managed-device-id smd-fictbgr3rbcje111 \ --instance-ids s.i-84fa8a27d3e15e111

异常

ValidationException ResourceNotFoundException InternalServerException ThrottlingException AccessDeniedException

输出

{ "instances": [ { "instance": { "amiLaunchIndex": 0, "blockDeviceMappings": [ { "deviceName": "/dev/sda", "ebs": { "attachTime": "2021-07-23T15:25:38.719000-07:00", "deleteOnTermination": true, "status": "ATTACHED", "volumeId": "s.vol-84fa8a27d3e15e111" } } ], "cpuOptions": { "coreCount": 1, "threadsPerCore": 1 }, "createdAt": "2021-07-23T15:23:22.858000-07:00", "imageId": "s.ami-03f976c3cadaa6111", "instanceId": "s.i-84fa8a27d3e15e111", "state": { "name": "RUNNING" }, "instanceType": "snc1.micro", "privateIpAddress": "34.223.14.193", "publicIpAddress": "10.111.60.160", "rootDeviceName": "/dev/sda", "securityGroups": [ { "groupId": "s.sg-890b6b4008bdb3111", "groupName": "default" } ], "updatedAt": "2021-07-23T15:29:42.163000-07:00" }, "lastUpdatedAt": "2021-07-23T15:29:58. 071000-07:00" } ] }

查看任务元数据

要检查设备上给定任务的元数据,请使用 describe-task 命令。任务的元数据包括以下项目:

  • 目标设备

  • 任务状态

  • 任务创建时间

  • 设备上次更新数据的时间

  • 任务完成时间

  • 创建任务时提供的描述(如有)

要查看任务的元数据,请使用以下命令。将每个 user input placeholder 替换为您自己的信息。

命令

aws snow-device-management describe-task \ --task-id st-ficthmqoc2pht111

异常

ValidationException ResourceNotFoundException InternalServerException ThrottlingException AccessDeniedException

输出

{ "completedAt": "2021-07-22T15:29:46.758000+00:00", "createdAt": "2021-07-22T15:28:42.613000+00:00", "lastUpdatedAt": "2021-07-22T15:29:46.758000+00:00", "state": "COMPLETED", "tags": {}, "targets": [ "smd-fictbgr3rbcje111" ], "taskId": "st-ficthmqoc2pht111", "taskArn": "arn:aws:snow-device-management:us-west-2:000000000000:task/st-ficthmqoc2pht111" }

取消任务

要发送针对特定任务的取消请求,请使用 cancel-task 命令。您只能取消处于 QUEUED 状态的尚未运行的任务。无法取消已在运行的任务。

注意

如果您试图取消的任务在 cancel-task 命令改变任务状态之前已从队列中进行处理,则该任务可能仍继续运行。

要取消任务,请使用以下命令。将每个 user input placeholder 替换为您自己的信息。

命令

aws snow-device-management cancel-task \ --task-id st-ficthmqoc2pht111

异常

ValidationException ResourceNotFoundException InternalServerException ThrottlingException AccessDeniedException

输出

{ "taskId": "st-ficthmqoc2pht111" }

列出命令和语法

要返回 Snow Device Management API 支持的所有命令的列表,请使用 help 命令。您还可以使用 help 命令来返回给定命令的详细信息和语法。

要列出所有支持的命令,请使用以下命令。

命令

aws snow-device-management help

套返回命令的详细信息和语法,请使用以下命令。将 command 替换为您感兴趣的命令的名称。

命令

aws snow-device-management command help

列出可远程管理的设备

要返回您账户上在运行命令的 Amazon Web Services 区域中已启用 Snow Device Management 的所有设备,请使用 list-devices 命令。--max-results--next-token 是可选的。有关更多信息,请参阅“Amazon 命令行界面用户指南”中的使用 Amazon CLI 分页选项

要列出可远程管理的设备,请使用以下命令。将每个 user input placeholder 替换为您自己的信息。

命令

aws snow-device-management list-devices \ --max-results 10

异常

ValidationException InternalServerException ThrottlingException AccessDeniedException

输出

{ "devices": [ { "associatedWithJob": "ID2bf11d5a-ea1e-414a-b5b1-3bf7e6a6e111", "managedDeviceId": "smd-fictbgr3rbcjeqa5", "managedDeviceArn": "arn:aws:snow-device-management:us-west-2:000000000000:managed-device/smd-fictbgr3rbcje111" "tags": {} } ] }

列出各设备的任务状态

要返回一台或多台目标设备的任务状态,请使用 list-executions 命令。要筛选返回列表来显示当前处于单一特定状态的任务,请使用 --state 参数。--max-results--next-token 是可选的。有关更多信息,请参阅“Amazon 命令行界面用户指南”中的使用 Amazon CLI 分页选项

任务可能具有以下状态之一:

  • QUEUED

  • IN_PROGRESS

  • CANCELED

  • FAILED

  • COMPLETED

  • REJECTED

  • TIMED_OUT

要列出各设备的任务状态,请使用以下命令。将每个 user input placeholder 替换为您自己的信息。

命令

aws snow-device-management list-executions \ --taskId st-ficthmqoc2phtlef \ --state SUCCEEDED \ --max-results 10

异常

ValidationException InternalServerException ThrottlingException AccessDeniedException

输出

{ "executions": [ { "executionId": "1", "managedDeviceId": "smd-fictbgr3rbcje111", "state": "SUCCEEDED", "taskId": "st-ficthmqoc2pht111" } ] }

列出可用资源

要返回设备可用的 Amazon 资源列表,请使用 list-device-resources 命令。要按特定类型的资源筛选列表,请使用 --type 参数。目前,与 Amazon EC2 兼容的实例是唯一支持的资源类型。--max-results--next-token 是可选的。有关更多信息,请参阅“Amazon 命令行界面用户指南”中的使用 Amazon CLI 分页选项

要列出设备的可用资源,请使用以下命令。将每个 user input placeholder 替换为您自己的信息。

命令

aws snow-device-management list-device-resources \ --managed-device-id smd-fictbgr3rbcje111 \ --type AWS::EC2::Instance --next-token YAQGPwAT9l3wVKaGYjt4yS34MiQLWvzcShe9oIeDJr05AT4rXSprqcqQhhBEYRfcerAp0YYbJmRT= --max-results 10

异常

ValidationException InternalServerException ThrottlingException AccessDeniedException

输出

{ "resources": [ { "id": "s.i-84fa8a27d3e15e111", "resourceType": "AWS::EC2::Instance" } ] }

列出设备或任务标签

要返回托管设备或任务的标签列表,请使用 list-tags-for-resource 命令。

要列出设备的标签,请使用以下命令。将示例 Amazon 资源名称 (ARN) 替换为您设备的 ARN。

命令

aws snow-device-management list-tags-for-resource --resource-arn arn:aws:snow-device-management:us-west-2:123456789012:managed-device/smd-fictbgr3rbcjeqa5

异常

AccessDeniedException InternalServerException ResourceNotFoundException ThrottlingException

输出

{ "tags": { "Project": "PrototypeA" } }

按状态列出任务

使用 list-tasks 命令返回运行该命令的 Amazon 区域中设备的任务列表。要按照 IN_PROGRESSCOMPLETEDCANCELED 状态筛选结果,请使用 --state 参数。--max-results--next-token 是可选的。有关更多信息,请参阅“Amazon 命令行界面用户指南”中的使用 Amazon CLI 分页选项

要按状态列出任务,请使用以下命令。将每个 user input placeholder 替换为您自己的信息。

命令

aws snow-device-management list-tasks \ --state IN_PROGRESS \ --next-token K8VAMqKiP2Cf4xGkmH8GMyZrgOF8FUb+d1OKTP9+P4pUb+8PhW+6MiXh4= \ --max-results 10

异常

ValidationException InternalServerException ThrottlingException AccessDeniedException

输出

{ "tasks": [ { "state": "IN_PROGRESS", "tags": {}, "taskId": "st-ficthmqoc2phtlef", "taskArn": "arn:aws:snow-device-management:us-west-2:000000000000:task/st-ficthmqoc2phtlef" } ] }

应用标签

要为设备或设备上的任务添加或替换标签,请使用 tag-resource 命令。--tags 参数接受逗号分隔的 Key=Value 对的列表。

要为设备应用标签,请使用以下命令。将每个 user input placeholder 替换为您自己的信息。

命令

aws snow-device-management tag-resource \ --resource-arn arn:aws:snow-device-management:us-west-2:123456789012:managed-device/smd-fictbgr3rbcjeqa5 \ --tags Project=PrototypeA

异常

AccessDeniedException InternalServerException ResourceNotFoundException ThrottlingException

删除标签

要从设备或设备上的任务中移除标签,请使用 untag-resources 命令。

要从设备上移除标签,请使用以下命令。将每个 user input placeholder 替换为您自己的信息。

命令

aws snow-device-management untag-resources \ --resource-arn arn:aws:snow-device-management:us-west-2:123456789012:managed-device/smd-fictbgr3rbcjeqa5 \ --tag-keys Project

异常

AccessDeniedException InternalServerException ResourceNotFoundException ThrottlingException