Commands for the Snowball Edge Client
Following, you can find information about Snowball Edge client commands, including examples of use and sample outputs.
The Amazon Snowcone device uses the same Snowball Edge CLI commands, but it doesn’t support commands that apply to clustering.
Topics
- Configuring a Profile for the Snowball Edge Client
- Getting Your QR Code for NFC Validation
- Unlocking an Amazon Snowcone Device
- Updating a Snowcone
- Getting Credentials
- Starting a Service on Your Snowcone Device
- Stopping a Service on Your Snowcone Device
- Getting Your Certificate for Transferring Data
- Amazon Snowcone Logs
- Getting Device Status
- Getting Service Status
- Launching the Amazon DataSync AMI
- Starting NFS and Restricting Access
- Restricting Access to NFS Shares When NFS is Running
- Getting the Export Path for an Amazon S3 Bucket
- Enabling Local Amazon Operator Debugging
- Disabling Local Amazon Operator Debugging
- Creating a Direct Network Interface
- Getting Information About a Direct Network Interface
- Updating a Direct Network Interface
- Deleting a Direct Network Interface
- Checking feature status
- Changing feature status
- Setting Time Servers
- Checking Time Sources
Configuring a Profile for the Snowball Edge Client
Every time you run a command for the Snowball Edge client, you provide your manifest file, unlock code, and an IP address. You can get the first two of these from the Amazon Snow Family Management Console or the job management API. For more information about getting your manifest and unlock code, see Getting Credentials.
You have the option of using the snowballEdge configure
command to
store the path to the manifest, the 29-character unlock code, and the endpoint as a
profile. After configuration, you can use other Snowball Edge client commands
without having to manually enter these values for a particular job. After you
configure the Snowball Edge client, the information is saved in a plaintext JSON
format to
. home
directory
/.aws/snowball/config/snowball-.config
The endpoint is the IP address, with https://
added to it. You can
locate the IP address for the Amazon Snowcone device on the Amazon Snowcone device LCD display. When the
Amazon Snowcone device is connected to your network for the first time, it automatically gets a
DHCP IP address, if a DHCP server is available. If you want to use a different IP
address, you can change it from the LCD display. For more information, see Using Amazon Services on Amazon Snowcone.
Anyone who can access the configuration file can access the data on your Snowcone device. Managing local access control for this file is one of your administrative responsibilities.
Usage
You can use this command in two ways: inline, or when prompted. This usage example shows the prompted method.
snowballEdge configure
Example Output
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
You can have multiple profiles if you have multiple jobs at once. For more information about multiple Amazon CLI profiles, see Named Profiles in the Amazon Command Line Interface User Guide.
Getting Your QR Code for NFC Validation
You can use this command to generate a device-specific QR code for use with the Amazon Snowcone Verification App. You can download this app from the Apple App Store or Google Play store. For more information about NFC validation, see Validating NFC Tags.
Usage
snowballEdge get-app-qr-code --output-file
~/downloads/snowball-qr-code.png
Example Output
QR code is saved to
~/downloads/snowball-qr-code.png
Unlocking an Amazon Snowcone Device
To unlock a standalone Amazon Snowcone device, run the snowballEdge unlock-device
command. These commands authenticate your access to the Amazon Snowcone device.
When you run one of these unlock commands, you can manually enter the path to the manifest file, the 29-character unlock code, and the IP address for your standalone device. This process can get tedious, so we recommend that you configure your Snowball Edge client instead. If you've already configured the Snowball Edge client, then you only need to enter the command itself without the path to the manifest, the unlock code, or the IP address.
To unlock the device associated with your job, the device must be onsite, plugged into power and the network, and turned on. In addition, the LCD display on the front of the Amazon Snowcone device must indicate that the device is ready for use.
Usage (configured Snowball Edge client)
snowballEdge unlock-device
Example Unlock Output
Your Amazon Snowcone device is unlocking. You may determine the unlock state of your device using the describe-device command. Your Amazon Snowcone device will be available for use when it is in the UNLOCKED state.
Updating a Snowcone
Use the following commands to download and install updates for your Snowcone device. For procedures that use these commands, see Updating a Snowcone .
snowballEdge check-for-updates
– Returns version information about
the Snowball software available in the cloud, and the current version installed on
the device.
Usage (configured Snowball Edge client)
snowballEdge check-for-updates
Example Output
Latest version: 102 Installed version: 101
snowballEdge describe-device-software
– Returns the current
software version for the device. Additionally, if the update is being downloaded,
the download state is also displayed. If a software update is in progress, the
version manifest of update, and state of installation is also displayed. Following
is a list of possible outputs:
-
NA
– No software updates are currently in progress. -
Downloading
– New software is being downloaded. -
Installing
– New software is being installed. -
Requires Reboot
– New software has been installed, and the device must be restarted.Warning We highly recommend that you suspend all activity on the device before you restart the device. Restarting a device stops running instances, interrupts any writing to Amazon S3 buckets on the device, and stops any write operations from the file interface without clearing the cache. All of these processes can result in lost data.
Usage (configured Snowball Edge client)
snowballEdge describe-device-software
Example Output
Installed version: 101 Installing version: 102 Install State: Downloading
snowballEdge download-updates
– Starts downloading the latest
software updates for your Snowcone device.
Usage (configured Snowball Edge client)
snowballEdge download-updates
Example Output
Download started. Run describe-device-software API for additional information.
snowballEdge install-updates
– Starts installing the latest
software updates for your Snowcone device that were already downloaded.
Usage (configured Snowball Edge client)
snowballEdge install-updates
Example Output
Installation started.
snowballEdge reboot-device
– Reboots the device.
We highly recommend that you suspend all activity on the device before you restart the device. Restarting a device stops running instances, interrupts any writing to Amazon S3 buckets on the device, and stops any write operations from the file interface without clearing the cache. All of these processes can result in lost data.
Usage (configured Snowball Edge client)
snowballEdge reboot-device
Example Output
Rebooting device now.
snowballEdge configure-auto-update-strategies
– Configures an
automatic update strategy.
Usage (configured Snowball Edge client)
snowballEdge configure-auto-update-strategy --auto-check
autoCheck
[--auto-check-frequencyautoCheckFreq
] --auto-downloadautoDownload
[--auto-download-frequencyautoDownloadFreq
] --auto-installautoInstall
[--auto-install-frequencyautoInstallFreq
] --auto-rebootautoReboot
[--endpointendpoint
]
Example Output
Successfully configured auto update strategy. Run describe-auto-update-strategies for additional information.
snowballEdge describe-auto-update-strategies
– Returns any
currently configured automatic update strategy.
Usage (configured Snowball Edge client)
snowballEdge describe-auto-update-strategies
Example Output
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; ]}
Getting Credentials
Using the snowballEdge list-access-keys
and snowballEdge
get-secret-access-key
commands, you can get your local credentials. You
use these to authenticate your requests when using the Amazon CLI or with an Amazon SDK. These credentials are only associated with an individual job for
Snowcone, and you can use them only on the device. The device doesn't have any
Amazon Identity and Access Management (IAM) permissions in the Amazon Web Services Cloud.
For more information see Amazon credentials
If you're using the Amazon CLI with Snowball, you must use these credentials when you configure the CLI. For information on configuring credentials for the CLI, see Quick Configuration in the Amazon Command Line Interface User Guide.
Usage (configured Snowball Edge client)
snowballEdge list-access-keys
Example Output
{ "AccessKeyIds" : [ "AKIAIOSFODNN7EXAMPLE" ] }
Usage (configured Snowball Edge client)
snowballEdge get-secret-access-key --access-key-id
Access Key
Example Output
[snowballEdge] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Starting a Service on Your Snowcone Device
Snowcone supports multiple services, including compute instances, the NFS file interface,
Amazon EC2, and Amazon DataSync. You can start these services with the snowballEdge
start-service
command. To get the service ID for each service, you can
use the snowballEdge list-services
command.
Before you run this command, create a single virtual network interface to bind to the service that you're starting. For more information, see Creating a Virtual Network Interface.
Usage (configured Snowball Edge client)
snowballEdge start-service --service-id service_id
--virtual-network-interface-arns virtual-network-interface-arn
Example Output
Starting the Amazon service on your Snowball Edge . You can determine the status of the Amazon service using the describe-service command.
Stopping a Service on Your Snowcone Device
To stop a service running on your Snowcone device, you can use the snowballEdge
stop-service
command. The Amazon EC2 services cannot be stopped.
Data loss can occur if the file interface is stopped before remaining buffered data is written to the device.
Usage (configured Snowball Edge client)
snowballEdge stop-service --service-id service_id
Example Output
Stopping the Amazon service on your Snowball . You can determine the status of the Amazon service using the describe-service command.
Getting Your Certificate for Transferring Data
To transfer data to a Snowcone device, use the NFS file interface or Amazon DataSync. If
you unlock your Snowcone device with a different IP address, a new certificate is
generated, and the old certificate is no longer valid to use with the endpoint. You
can get the new, updated certificate from the Snowcone device again using the
get-certificate
command.
You can list these certificates and download them from your Snowcone device with the following commands:
-
list-certificates
– Lists the Amazon Resource Names (ARNs) for the certificates available for use.Usage (configured Snowball Edge client)
snowballEdge list-certificates
Example Output
{ "Certificates" : [ { "CertificateArn" : "arn:aws:snowball-device:::certificate/78EXAMPLE516EXAMPLEf538EXAMPLEa7", "SubjectAlternativeNames" : [ "192.0.2.0" ] } ] }
-
get-certificate
– Gets a specific certificate, based on the ARN provided.Usage (configured Snowball Edge client)
snowballEdge get-certificate --certificate-arn arn:aws:snowball-device:::certificate/78EXAMPLE516EXAMPLEf538EXAMPLEa7
Example Output
-----BEGIN CERTIFICATE-----
Certificate
-----END CERTIFICATE-----
Amazon Snowcone Logs
When you transfer data between your on-premises data center and a Snowcone device, logs are automatically generated. If you encounter unexpected errors during data transfer to the device, you can use the following commands to save a copy of the logs to your local server.
There are three commands related to logs:
-
list-logs
– Returns a list of logs in JSON format. This list reports the size of the logs in bytes, the ARN for the logs, the service ID for the logs, and the type of logs.Usage (configured Snowball Edge client)
snowballEdge list-logs
Example Output
{ "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
– Downloads a copy of a specific log from the Snowcone device to your server at a specified path.CUSTOMER
logs are saved in the.zip
format, and you can extract this type of log to view its contents.SUPPORT
logs are encrypted and can only be read by Amazon Web Services Support engineers. You have the option of specifying a name and a path for the log.Usage (configured Snowball Edge client)
snowballEdge get-log --log-arn arn:aws:snowball-device:::log/fileinterface-JIDEXAMPLEf-1234-4953-a7c4-dfEXAMPLE709
Example Output
Logs are being saved to
download/path
/snowball--logs-1515EXAMPLE88.bin -
get-support-logs
– Downloads a copy of all theSUPPORT
type of logs from the Snowcone device to your service at a specified path.Usage (configured Snowball Edge client)
snowballEdge get-support-logs
Example Output
Logs are being saved to
download/path
/snowball--logs-1515716135711.bin
CUSTOMER
logs might contain sensitive information about your own
data. To protect this potentially sensitive information, we strongly suggest
that you delete these logs after you're done with them.
Getting Device Status
You can determine the status and general health of your Snowcone device with the following Snowball Edge client commands:
-
describe-device
Usage (configured Snowball Edge client)
snowballEdge describe-device
Example Output
{ "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" }
Getting Service Status
You can determine the status and general health of the services running on a Snowcone
device by using the describe-service
command. You can first run the
list-services
command to see what services are running.
-
list-services
Usage (configured Snowball Edge client)
snowballEdge list-services
Example Output
{ "ServiceIds" : [ "nfs", "datasync", "ec2" ] }
-
describe-service
This command returns a status value for a service. It also includes state information that might be helpful in resolving issues you encounter with the service. Those states are as follows.
-
ACTIVE
– The service is running and available for use. -
ACTIVATING
– The service is starting up, but it is not yet available for use. -
DEACTIVATING
– The service is in the process of shutting down. -
INACTIVE
– The service is not running and is not available for use.
Usage (configured Snowball Edge client)
snowballEdge describe-service --service-id
service-id
Example Output
{ "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" } } ] }
-
Launching the Amazon DataSync AMI
Launch the Amazon DataSync AMI on Snowcone.
Usage (configured Snowball Edge client)
Amazon DataSync must be launched with the snc1.medium
instance type.
Launching DataSync with a different instance type can result in an unstable operation
and potential data loss. Use the describe-images
command to find the
image to launch an instance from. The output looks like the following.
{ "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": "Amazon DataSync AMI for online data transfer", "EnaSupport": false, "Name": "scn-datasync-ami", "RootDeviceName": "/dev/sda" }
aws ec2 describe-instances --endpoint http://${snowcone_ip}:8008
Example Output
{ "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" }, ] }
Run the instance.
aws ec2 run-instances --image-id
s.ami id
\--instance-type snc1.medium --endpoint http://${snowcone_ip}:8008
Example Output
{ "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" }
Starting NFS and Restricting Access
Don't start the NFS service if you intend to use Amazon Elastic Block Store (Amazon EBS). The first time NFS is started, all storage is allocated to NFS. It is not possible to reallocate NFS storage to Amazon EBS, even if the NFS service is stopped.
Available storage space on the Snowcone device is not accurate until the NFS service is started.
You can provide CIDR blocks for IP address ranges that are allowed to
mount the NFS shares exposed by the device. For example,
10.0.0.0/16
. If you don't provide allowed CIDR blocks, all
mount requests will be denied.
Data transferred through NFS is not encrypted in transit.
Other than the allowed hosts by CIDR blocks, Snowcone doesn't provide an authentication or authorization mechanism for the NFS shares.
Start NFS with the snowballEdge start-service
command. To get the service
ID for the NFS service, you can use the snowballEdge list-services
command.
Before you run this command, create a single virtual network interface to bind to the service that you're starting. For more information, see Creating a Virtual Network Interface. You can restrict access to your file shares and data in your Amazon S3 buckets and see what restrictions are currently in place. You do this by allocating CIDR blocks for allowed hosts that can access your file share and S3 buckets when you start the NFS service.
Usage (configured Snowball Edge client)
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
Example Output
Starting the service on your Snowball Edge. You can determine the status of the service using the describe-service command.
Restricting Access to NFS Shares When NFS is Running
You can restrict access your file shares and data in your Amazon S3 buckets after you have started NFS. You can see what restrictions are currently in place, and give each bucket different access restrictions. You do this by allocating CIDR blocks for hosts that can access your file share and S3 buckets when you start the NFS service. The following is an example command.
Usage (configured Snowball Edge client)
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
To see the current restrictions, use the describe-service
command.
snowballEdge describe-service --service-id nfs
Getting the Export Path for an Amazon S3 Bucket
There is no specific Snowcone command for getting the export path of an Amazon S3 bucket. The format of the export path looks like the following.
/buckets/
bucket-name
.
Enabling Local Amazon Operator Debugging
enable-local-aws-operator-debugging
– Enables the device for local Amazon operator debugging by opening SSH port 22.
Usage (configured Snowball Edge client)
snowballEdge enable-local-aws-operator-debugging
Disabling Local Amazon Operator Debugging
disable-local-aws-operator-debugging
– Disables the device for local Amazon operator debugging by closing SSH port 22. By default, SSH port 22 is closed. When the Snowcone device is turned off or is power cycled, local Amazon operator debugging is disabled.
Usage (configured Snowball Edge client)
snowballEdge disable-local-aws-operator-debugging
Creating a Direct Network Interface
create-direct-network-interface
– Creates a direct network interface (DNI).Creates a direct network interface to use with Amazon EC2 compute instances on your device. You can find the direct network interfaces available on your device by using the describe-direct-network-interfaces
command.
Usage (configured Snowball Edge client)
create-direct-network-interface [--endpoint
endpoint
] [--instance-idinstanceId
] [--macmacAddress
] [--manifest-filemanifestFile
] [--physical-network-interface-idphysicalNetworkInterfaceId
] [--profileprofile
] [--unlock-codeunlockCode
] [--vlanvlanId
]
Getting Information About a Direct Network Interface
describe-direct-network-interface
– Gets the direct network interfaces on your device. A direct network interface can be used to configure networking for Amazon EC2 compute instances and services on your device. You can create a new direct network interface by using thecreate-direct-network-interface
command.
Usage (configured Snowball Edge client)
describe-direct-network-interfaces [--endpoint
endpoint
] [--manifest-filemanifestFile
] [--profileprofile
] [--unlock-codeunlockCode
]
Updating a Direct Network Interface
update-direct-network-interface
– Updates a direct network interface. Use this command to update a direct network interface that will be used with Amazon EC2 compute instances on your device. You can find the direct network interfaces that are available on your device by using thedescribe-direct-network
-interfaces command. When you are modifying a network interface that is attached to an Amazon EC2 instance, the interface will first be detached.
Usage (configured Snowball Edge client)
update-direct-network-interface [--direct-network-interface-arn
directNetworkInterfaceArn
] [--endpointendpoint
] [--macmacAddress
] [--manifest-filemanifestFile
] [--profileprofile
] [--unlock-codeunlockCode
] [--vlanvlanId
] [--attach-instance-idinstanceId
| --detach]
Deleting a Direct Network Interface
delete-direct-network-interface
– Deletes a direct network interface that is no longer in use. To delete a direct network interface associated with your Amazon EC2 compute instance, you must first disassociate the direct network interface from your instance.
Usage (configured Snowball Edge client)
delete-direct-network-interface [--direct-network-interface-arn
directNetworkInterfaceArn
] [--endpointendpoint
] [--manifest-filemanifestFile
] [--profileprofile
] [--unlock-codeunlockCode
]
Checking feature status
To list the status of features available on your device, including Amazon Snow Device Management,
which allows you to manage your Snowcone device and local Amazon services remotely, use
the describe-features
command.
RemoteManagementState
indicates the status of Snow Device Management and returns one
of the following states:
INSTALLED_ONLY
– The feature is installed but not enabled.INSTALLED_AUTOSTART
– The feature is enabled and the device will attempt to connect to its Amazon Web Services Region when it is powered on.NOT_INSTALLED
– The device does not support the feature or was already in the field before its launch.
Usage (configured Snowball Edge client)
snowballEdge describe-features --manifest-file
manifest.bin path
--unlock-codeunlock-code
--endpoint https://device-local-ip
:9091
Example Output
{ "RemoteManagementState" : String }
Changing feature status
To change the status of the features available on your Amazon Snowcone device, use the
set-features
command. To enable or disable Amazon Snow Device Management, which allows
you to manage your Snowcone device and local Amazon services remotely, use the
--remote-management-state
parameter. The device must be unlocked
before you run this command.
You can set Snow Device Management to the following states:
INSTALLED_ONLY
– The feature is installed but not enabled.INSTALLED_AUTOSTART
– The feature is enabled and the device attempts to connect to its Amazon Web Services Region when it is powered on.Note The
NOT_INSTALLED
state exists only to identify devices that don't support Snow Device Management or were already in the field before its launch. It is not possible to install or uninstall the feature on devices that are already deployed. To use Snow Device Management, you must order a new device with the feature preinstalled.
Usage (configured Snowball Edge client)
snowballEdge set-features --remote-management-state
INSTALLED_AUTOSTART
--manifest-file./JID2bf11d5a-fict-414a-b5b1-3bf7e6a6e83d_manifest.bin
--unlock-code73bb0-f8ke1-69a4a-f4288-4f88d
--endpointhttps://10.0.0.25
Example Output
{ "RemoteManagementState" : "INSTALLED_AUTOSTART" }
Setting Time Servers
You can set up an external Network Time Protocol (NTP) server. You can use the NTP CLI
commands when the device is in both locked and unlocked states. The manifest and unlock code
are required. You can set these either with the snowballEdge configure
command
or by using the --manifest-file
and --unlock-code
options. Note
that you can use the snowballEdge
CLI on both Amazon Snowcone Edge and Amazon Snowcone.
It is your responsibility to provide a secure NTP time server. To set which NTP time
servers the device connects to, use the update-time-servers
CLI command.
The update-time-servers
command will override the previous
NTP time servers settings.
Usage
snowballEdge update-time-servers time.google.com
Example Output
Updating time servers now.
Checking Time Sources
To see which NTP time sources the device are currently connected to, use
the describe-time-sources
Snowball Edge CLI command.
Usage
snowballEdge describe-time-sources
Example Output
{ "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 } ] }
The describe-time-sources
command returns a list of time source states.
Each time source state contains the Address
, State
, Type
,
and Stratum
fields. Following are the meanings of these fields.
-
Address
– The DNS name / IP address of the time source. -
State
– The current connection status between the device and that time source. There are five possible states:.-
CURRENT
– The time source is currently being used to synchronize time. -
COMBINED
– The time source is combined with the current source. -
EXCLUDED
– The time source is excluded by the combining algorithm. -
LOST
– The connection with the time source has been lost. -
UNACCEPTABLE
– An invalid time source where the combining algorithm has deemed to be either a falseticker or has too much variability.
-
-
Type
– An NTP time source can be either a server or a peer. Servers can be set by theupdate-time-servers
command. Peers can only be other Snowball Edge devices in the cluster and are automatically set up when the cluster is associated. -
Stratum
– This field shows the stratum of the source. Stratum 1 indicates a source with a locally attached reference clock. A source that is synchronized to a stratum 1 source is at stratum 2. A source that is synchronized to a stratum 2 source is at stratum 3, and so on..
An NTP time source can either be a server or a peer. A server can be set by the user
with the update-time-servers
command, whereas a peer could only be other
Snowball Edge devices in the cluster. In the example output, describe-time-sources
is called on a Snowball Edge that is in a cluster of 5. The output contains 4 peers
and 1 server. The peers have a stratum of 10 while the server has a stratum of 1;
therefore, the server is selected to be the current time source.