Setting up Amazon S3 compatible storage on Snow Family devices
Install and configure software tools from Amazon to your local environment to interact with the Snowball Edge device or cluster of devices and Amazon S3 compatible storage on Snow Family devices. Then, use these tools to set up the Snowball Edge device or cluster and start Amazon S3 compatible storage on Snow Family devices.
Prerequisites
Amazon S3 compatible storage on Snow Family devices requires you to have the Snowball Edge Client and the Amazon CLI installed to your local environment. You can also use Amazon SDK for .NET and Amazon Tools for Windows PowerShell to work with Amazon S3 compatible storage on Snow Family devices. Amazon recommends using the following versions of these tools:
Snowball Edge Client – Use the latest version. For more information, see Downloading and Installing the Snowball Edge Client in this guide.
Amazon CLI – Version 2.11.15 or newer. For more information, see Installing, updating, and uninstalling the Amazon CLI in the Amazon Command Line Interface User Guide.
Amazon SDK for .NET – AWSSDK.S3Control 3.7.304.8 or newer. For more information, see Amazon SDK for .NET.
Amazon Tools for Windows PowerShell – Version 4.1.476 or newer. For more information, see Amazon Tools for Windows PowerShell User Guide.
Setting up your local environment
This section describes how to set up and configure the Snowball Edge Client and your local environment for use with Amazon S3 compatible storage on Snow Family devices.
To set up your environment
-
Download and install the latest version of the Snowball Edge Client. For more information, see Downloading and Installing the Snowball Edge Client in this guide.
-
Run the following commands to configure your folders.
chmod u+x new_cli/bin/snowballEdge chmod u+x new_cli/jre/bin/java
-
Add
new_cli/bin
to your$PATH
. -
Run the command
snowballEdge configure
. You receive a response similar to the following:Configuration will be stored at /home/user/.aws/snowball/config/snowball-edge.config
-
Enter the following information:
-
The manifest path.
-
An unlock code.
-
The default endpoint. For standalone Snowball Edge devices, use the device's IP address. For a cluster of device,s specify the IP address for any device in the cluster. To test if the default endpoints are available from the client, use a command similar to the following. For the port number, use 9091 (activation port), 22 (SSH), and 8080 (HTTP endpoint for s3).
telnet
snowball_ip
port_number
-
-
If you are using Amazon SDK for .NET, set the
clientConfig.AuthenticationRegion
parameter value as follows:clientConfig.AuthenticationRegion =
"snow"
Setting up your Snowball Edge device
Set up your Snowball Edge device according to Receiving the Snowball Edge in this guide.
After your device is set up and running, configure and start Amazon S3 compatible storage on Snow Family devices. See Setting up Amazon S3 compatible storage on Snow Family devices.
Setting up IAM on the Snowball Edge
Amazon Identity and Access Management (IAM) helps you to enable granular access to Amazon resources that run on your Snowball Edge devices. You use IAM to control who is authenticated (signed in) and authorized (has permissions) to use resources.
IAM is supported locally on the Snowball Edge. You can use the local IAM service to create roles and attach IAM policies to them. You can use these policies to allow the access necessary to perform assigned tasks.
The following example allows full access to the Amazon S3 API:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }
For more IAM policy examples, see the Amazon Snowball Edge Developer Guide.
Starting the Amazon S3 compatible storage on Snow Family devices service
Use the following instructions to start the Amazon S3 compatible storage on Snow Family devices service on a Snowball Edge device or cluster.
Note
If you prefer a more user-friendly experience, you can start the Amazon S3 compatible storage on Snow Family devices service for a standalone device or cluster of devices using Amazon OpsHub. See Set up Amazon S3 compatible storage on Snow Family devices.
-
Unlock your Snowball Edge device or cluster of devices by running the following command:
-
For a single device:
snowballEdge unlock-device --endpoint https://
snow-device-ip
-
For a cluster:
snowballEdge unlock-cluster
-
-
Run the following command and make sure that the Snowball Edge device or cluster of devices are unlocked:
-
For a single device:
snowballEdge describe-device --endpoint https://
snow-device-ip
-
For a cluster:
snowballEdge describe-cluster --device-ip-addresses [
snow-device-1-ip
] [snow-device-2-ip
] / [snow-device-3-ip
] [snow-device-4-ip
] [snow-device-5-ip
] / [snow-device-6-ip
]
-
-
For each device (whether you have one or a cluster), to start Amazon S3 compatible storage on Snow Family devices, do the following:
-
Fetch the device's
PhysicalNetworkInterfaceId
by running the followingdescribe-device
command:snowballEdge describe-device --endpoint https://
snow-device-ip
-
Run the following
create-virtual-network-interface
command twice to create the virtual network interfaces (VNIs) for thes3control
(for bucket operations) ands3api
(for object operations) endpoints.snowballEdge create-virtual-network-interface --ip-address-assignment dhcp --manifest-file
manifest
--physical-network-interface-id "PhysicalNetworkInterfaceId
" --unlock-codeunlockcode
--endpoint https://snow-device-ip
For details about these commands, see Creating a Virtual Network Interface.
Note
Starting Amazon S3 compatible storage on Snow Family devices consumes device resources.
-
-
Start the Amazon S3 compatible storage on Snow Family devices service by running the following
start-service
command. which includes the IP addresses of your devices and the Amazon Resource Names (ARNs) of the VNIs that you created for thes3control
ands3api
endpoints:To start the service on a single device:
snowballEdge start-service --service-id s3-snow --device-ip-addresses
snow-device-1-ip
--virtual-network-interface-arnsvni-arn-1
vni-arn-2
To start the service on a cluster:
snowballEdge start-service --service-id s3-snow --device-ip-addresses
snow-device-1-ip
snow-device-2-ip
snow-device-3-ip
--virtual-network-interface-arnsvni-arn-1
vni-arn-2
vni-arn-3
vni-arn-4
vni-arn-5
vni-arn-6
For
--virtual-network-interface-arns
, include ARNs for all the VNIs that you created in the previous step. Separate each ARN using a space. -
Run the following
describe-service
command for a single device:snowballEdge describe-service --service-id s3-snow
Wait until service status is
Active
.Run the following
describe-service
command for a cluster:snowballEdge describe-service --service-id s3-snow \ --device-ip-addresses
snow-device-1-ip
snow-device-2-ip
snow-device-3-ip