Uso de AWS Snow Device Management para administrar dispositivos - AWS Snowball Edge Guía para desarrolladores

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de AWS Snow Device Management para administrar dispositivos

AWS Snow Device Management le permite administrar de forma remota su dispositivo Snow Family y los servicios locales de AWS. Todos los dispositivos de la familia Snow son compatibles con la administración de dispositivos Snow y viene instalada en los nuevos dispositivos en la mayoría Regiones de AWS de los dispositivos de la familia Snow disponibles.

Con Snow Device Management, puede realizar las siguientes tareas:

  • Creación de una tarea

  • Comprobación del estado de la tarea

  • Comprobación de los metadatos de una tarea

  • Cancelación de una tarea

  • Comprobación de la información del dispositivo

  • Comprobación del estado de la instancia compatible con Amazon EC2

  • Obtención de una lista de comandos y sintaxis

  • Obtención de una lista de los dispositivos que se pueden administrar de forma remota

  • Obtención de una lista del estado de las tareas en distintos dispositivos

  • Obtención de una lista de los recursos disponibles

  • Obtención de una lista de tareas por estado

  • Obtención de una lista de las etiquetas de un dispositivo o de una tarea

  • Aplicación de etiquetas

  • Eliminación de etiquetas

Elegir el estado de administración de dispositivos Snow al solicitar un dispositivo de la familia Snow

Al crear una tarea para solicitar un dispositivo de nieve, puede elegir en qué estado estará la gestión de dispositivos de nieve cuando reciba el dispositivo: instalado pero no activado o instalado y activado. Si está instalado pero no activado, necesitará usar AWS OpsHub o el cliente Snowball Edge para activarlo antes de usarlo. Si está instalado y activado, podrá utilizar Snow Device Management después de recibir el dispositivo y conectarlo a la red local. Puede elegir el estado de administración de dispositivos de Snow al crear un trabajo para solicitar un dispositivo a través del Consola de administración de la familia de productos Snow de AWS cliente Snowball Edge o la AWS CLI API de administración de trabajos de Snow.

Para elegir el estado de administración de dispositivos de Snow en la Consola de administración de la familia de productos Snow de AWS
  1. Para elegir que se instale y active la administración de dispositivos de nieve, elija Administrar su dispositivo de nieve de forma remota con AWS OpsHub o el cliente Snowball.

  2. Para elegir que la administración de dispositivos Snow esté instalada pero no activada, no seleccione Administrar su dispositivo Snow de forma remota con AWS OpsHub un cliente Snowball.

Para obtener más información, consulte el paso 3: Elija las funciones y opciones en esta guía.

Para elegir el estado de administración de dispositivos de Snow desde el AWS CLI cliente Snowball Edge o la API de administración de trabajos de Snow:
  • Utilice el remote-management parámetro para especificar el estado de administración de dispositivos de Snow. El INSTALLED_ONLY valor del parámetro significa que Snow Device Management está instalado pero no activado. El INSTALLED_AUTOSTART valor del parámetro significa que Snow Device Management está instalado y activado. Si no especifica ningún valor para este parámetro, INSTALLED_ONLY es el valor por defecto.

ejemplo de la sintaxis del remote-management parámetro del create-job comando
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 \

Para obtener más información, consulta la referencia de la API de administración de trabajos en la referencia de la AWS Snowball API.

Activación de Snow Device Management

Siga este procedimiento para activar Snow Device Management mediante el cliente Snowball Edge.

Antes de utilizar este procedimiento, haga lo siguiente:

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

El cliente Snowball Edge devuelve lo siguiente cuando el comando se ejecuta correctamente.

{ "RemoteManagementState" : "INSTALLED_AUTOSTART" }

Añadir permisos para Snow Device Management a una función de IAM

En la Cuenta de AWS desde la que se pidió el dispositivo, cree un rol de AWS Identity and Access Management (IAM) y agréguele la siguiente política. A continuación, asigne el rol al usuario de IAM que iniciará sesión para administrar su dispositivo de forma remota con Snow Device Management. Para obtener más información, consulte Creación de roles de IAM y Creación de un usuario de IAM en su Cuenta de AWS.

Política

{ "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": "*" } ] }

Comandos de la CLI de Snow Device Management

En esta sección se describen los comandos de la AWS CLI que puede utilizar para administrar sus dispositivos Snow Family de forma remota con Snow Device Management. También puede realizar algunas tareas de administración remota mediante AWS OpsHub for Snow Family. Para obtener más información, consulte Administrar AWS los servicios del dispositivo.

nota

Antes de administrar el dispositivo, asegúrese de que esté encendido y conectado a la red y de que pueda conectarse a la Región de AWS en la que se aprovisionó.

Creación de una tarea

Para indicar a uno o más dispositivos de destino que realicen una tarea, como desbloquearse o reiniciarse, utilice create-task. Debe especificar los dispositivos de destino proporcionando una lista de los ID de dispositivo administrados con el parámetro --targets y las tareas que se van a realizar con el parámetro --command. Solo se puede ejecutar un comando en un dispositivo cada vez.

Comandos admitidos:

  • unlock (sin argumentos)

  • reboot (sin argumentos)

Para crear una tarea para que la ejecuten los dispositivos de destino, utilice el siguiente comando. Reemplace cada user input placeholder por su propia información.

Comando

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

Excepciones

ValidationException ResourceNotFoundException InternalServerException ThrottlingException AccessDeniedException ServiceQuotaExceededException

Salida

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

Comprobación del estado de la tarea

Para comprobar el estado de una tarea remota que se ejecuta en uno o más dispositivos de destino, utilice el comando describe-execution.

Una tarea puede tener uno de los siguientes estados:

  • QUEUED

  • IN_PROGRESS

  • CANCELED

  • FAILED

  • COMPLETED

  • REJECTED

  • TIMED_OUT

Para comprobar el estado de una tarea, utilice el siguiente comando. Reemplace cada user input placeholder por su propia información.

Comando

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

Salida

{ "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" }

Comprobación de la información del dispositivo

Para comprobar la información específica del dispositivo, como el tipo de dispositivo, la versión del software, las direcciones IP y el estado de bloqueo, utilice el comando describe-device. La salida incluye también lo siguiente:

  • lastReachedOutAt: la última vez que el dispositivo contactó con la Nube de AWS. Indica que el dispositivo está en línea.

  • lastUpdatedAt: cuándo se actualizaron los datos por última vez en el dispositivo. Indica cuándo se actualizó la memoria caché del dispositivo.

Para comprobar la información del dispositivo, utilice el siguiente comando. Reemplace cada user input placeholder por su propia información.

Comando

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

Excepciones

ValidationException ResourceNotFoundException InternalServerException ThrottlingException AccessDeniedException

Salida

{ "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" } }

Comprobación del estado de la instancia compatible con Amazon EC2

Para comprobar el estado actual de la instancia de Amazon EC2, utilice el comando describe-ec2-instances. La salida es similar a la del comando describe-device, pero los resultados se obtienen de la memoria caché del dispositivo de la Nube de AWS e incluyen un subconjunto de los campos disponibles.

Para comprobar el estado de la instancia compatible con Amazon EC2, utilice el siguiente comando. Reemplace cada user input placeholder por su propia información.

Comando

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

Excepciones

ValidationException ResourceNotFoundException InternalServerException ThrottlingException AccessDeniedException

Salida

{ "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" } ] }

Comprobación de los metadatos de una tarea

Para comprobar los metadatos de una tarea determinada en un dispositivo, utilice el comando describe-task. Los metadatos de una tarea incluyen los siguientes elementos:

  • Los dispositivos de destino

  • El estado de la tarea

  • Cuándo se creó la tarea

  • Cuándo se actualizaron los datos por última vez en el dispositivo

  • Cuándo se completó la tarea

  • La descripción (si la hay) que se proporcionó cuando se creó la tarea

Para comprobar los metadatos de una tarea, utilice el siguiente comando. Reemplace cada user input placeholder por su propia información.

Comando

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

Excepciones

ValidationException ResourceNotFoundException InternalServerException ThrottlingException AccessDeniedException

Salida

{ "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" }

Cancelación de una tarea

Para enviar una solicitud de cancelación para una tarea específica, utilice el comando cancel-task. Solo puede cancelar las tareas que se encuentren en el estado QUEUED y que aún no se hayan ejecutado. Las tareas que ya se están ejecutando no se pueden cancelar.

nota

Es posible que una tarea que está intentando cancelar siga ejecutándose si se procesa desde la cola antes de que el comando cancel-task cambie el estado de la tarea.

Para cancelar una tarea, utilice el siguiente comando. Reemplace cada user input placeholder por su propia información.

Comando

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

Excepciones

ValidationException ResourceNotFoundException InternalServerException ThrottlingException AccessDeniedException

Salida

{ "taskId": "st-ficthmqoc2pht111" }

Obtención de una lista de comandos y sintaxis

Para obtener una lista de todos los comandos compatibles con la API de Snow Device Management, utilice el comando help. También puede usar el comando help para devolver información detallada sobre un comando determinado y su sintaxis.

Para obtener una lista de todos los comandos admitidos, utilice el siguiente comando.

Comando

aws snow-device-management help

Para devolver información detallada y la sintaxis de un comando, utilice el siguiente comando. Sustituya command por el nombre del comando que le interesa.

Comando

aws snow-device-management command help

Obtención de una lista de los dispositivos que se pueden administrar de forma remota

Para obtener una lista de todos los dispositivos de su cuenta que tienen habilitada Snow Device Management en la Región de AWS en la que se ejecuta el comando, utilice el comando list-devices. --max-results y --next-token son opcionales. Para obtener más información, consulte Uso de las opciones de paginación de la AWS CLI en la “Guía del usuario de la interfaz de línea de comandos de AWS“.

Para obtener una lista de los dispositivos que se pueden administrar de forma remota, utilice el siguiente comando. Reemplace cada user input placeholder por su propia información.

Comando

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

Excepciones

ValidationException InternalServerException ThrottlingException AccessDeniedException

Salida

{ "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": {} } ] }

Obtención de una lista del estado de las tareas en distintos dispositivos

Para devolver el estado de las tareas de uno o más dispositivos de destino, utilice el comando list-executions. Para filtrar la lista devuelta y mostrar las tareas que se encuentran actualmente en un único estado específico, utilice el parámetro --state. --max-results y --next-token son opcionales. Para obtener más información, consulte Uso de las opciones de paginación de la AWS CLI en la “Guía del usuario de la interfaz de línea de comandos de AWS“.

Una tarea puede tener uno de los siguientes estados:

  • QUEUED

  • IN_PROGRESS

  • CANCELED

  • FAILED

  • COMPLETED

  • REJECTED

  • TIMED_OUT

Para obtener una lista del estado de las tareas en distintos dispositivos, utilice el siguiente comando. Reemplace cada user input placeholder por su propia información.

Comando

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

Excepciones

ValidationException InternalServerException ThrottlingException AccessDeniedException

Salida

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

Obtención de una lista de los recursos disponibles

Para obtener una lista de los recursos de AWS disponibles para un dispositivo, utilice el comando list-device-resources. Para filtrar la lista por un tipo de recurso específico, utilice el parámetro --type. Actualmente, las instancias compatibles con Amazon EC2 son el único tipo de recurso admitido. --max-results y --next-token son opcionales. Para obtener más información, consulte Uso de las opciones de paginación de la AWS CLI en la “Guía del usuario de la interfaz de línea de comandos de AWS“.

Para obtener una lista de los recursos disponibles para un dispositivo, utilice el siguiente comando. Reemplace cada user input placeholder por su propia información.

Comando

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

Excepciones

ValidationException InternalServerException ThrottlingException AccessDeniedException

Salida

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

Obtención de una lista de las etiquetas de un dispositivo o de una tarea

Para devolver una lista de etiquetas de una tarea o un dispositivo administrado, utilice el comando list-tags-for-resource.

Para obtener una lista de las etiquetas de un dispositivo, utilice el siguiente comando. Sustituya el nombre de recurso de Amazon (ARN) de ejemplo por el ARN de su dispositivo.

Comando

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

Excepciones

AccessDeniedException InternalServerException ResourceNotFoundException ThrottlingException

Salida

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

Obtención de una lista de tareas por estado

Utilice el comando list-tasks para obtener una lista de tareas de los dispositivos de la región de AWS en la que se ejecuta el comando. Para filtrar los resultados por el estado IN_PROGRESS, COMPLETED o CANCELED, utilice el parámetro --state. --max-results y --next-token son opcionales. Para obtener más información, consulte Uso de las opciones de paginación de la AWS CLI en la “Guía del usuario de la interfaz de línea de comandos de AWS“.

Para obtener una lista de tareas por estado, utilice el siguiente comando. Reemplace cada user input placeholder por su propia información.

Comando

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

Excepciones

ValidationException InternalServerException ThrottlingException AccessDeniedException

Salida

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

Aplicación de etiquetas

Para agregar o reemplazar una etiqueta para un dispositivo o para una tarea de un dispositivo, utilice el comando tag-resource. El parámetro --tags acepta una lista separada por comas de pares Key=Value.

Para aplicar etiquetas a un dispositivo, utilice el siguiente comando. Reemplace cada user input placeholder por su propia información.

Comando

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

Excepciones

AccessDeniedException InternalServerException ResourceNotFoundException ThrottlingException

Eliminación de etiquetas

Para eliminar una etiqueta de un dispositivo o de una tarea de un dispositivo, utilice el comando untag-resources.

Para eliminar etiquetas de un dispositivo, utilice el siguiente comando. Reemplace cada user input placeholder por su propia información.

Comando

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

Excepciones

AccessDeniedException InternalServerException ResourceNotFoundException ThrottlingException