Before You Order a Snowcone Device - AWS Snowcone User Guide

Before You Order a Snowcone Device

AWS Snowcone is a region-specific service, so make sure that the service is available in your region before you plan the job. Ensure that your location and Amazon S3 bucket are within the same AWS Region because it will impact your ability to order the device. There are limitations on shipping the Snowcone device outside of a region’s country borders. For more information, see Region-Based Shipping Restrictions.

International shipments to locations outside of your AWS Region are supported on the AWS Snow Family Management Console for allow‐listed customers for a select set of locations from specific regions (such as US to Mexico). You should discuss the target destination, costs, and timing to accommodate these requests with your account team.

As part of the order process, you create an AWS Identity and Access Management (IAM) role and AWS Key Management Service (AWS KMS) key. The KMS protects the encryption keys used to protect data on each device. For more information, see Creating a job to order a Snow Family device.

Questions About the Local Environment

Understanding your dataset and how the local environment is set up will help you complete your data transfer. Consider the following before placing your order.

Will the data be accessed during the transfer?

To prevent corrupting your data, don't disconnect a Snowcone device or change its network settings while transferring data. Files should be in a static state while being written to the device. Files that are modified while they are being written to the device can result in read/write conflicts.

Working with Files with Special Characters

It is important to note that if your files contain special characters, you might encounter errors. Although Amazon S3 allows special characters, we highly recommend that you avoid the following characters:

  • Backslash ("\")

  • Left curly brace ("{")

  • Right curly brace ("}")

  • Left square bracket ("[")

  • Right square bracket ("]")

  • 'Less than' symbol ("<")

  • 'Greater than' symbol (">")

  • Non-printable ASCII characters (128–255 decimal characters)

  • Caret ("^")

  • Percent character ("%")

  • Grave accent / back tick ("`")

  • Quotation marks

  • Tilde ("~")

  • 'Pound' character ("#")

  • Vertical bar / pipe ("|")

If your files have one or more of these characters, rename them before you copy them to the AWS Snowcone device. Windows users who have spaces in their file names should be careful when copying individual objects or running a recursive command. Surround individual objects that contain spacing in the name with quotation marks. The following are examples of such files.

Operating System File Name: test file.txt

Windows

“C:\Users\<username>\desktop\test file.txt”

Mac

/Users/<username>/test\ file.txt

Linux

/home/<username>/test\ file.txt

Note

The only object metadata that is transferred is the object name and size. However, AWS DataSync preserves access control lists (ACLs). For information, see How DataSync Handles Metadata and Special Files in the AWS DataSync User Guide.

Using Amazon EC2 on Snowcone

This section provides an overview of using Amazon EC2-compatible compute instances on an AWS Snowcone device.

You should use the Amazon EC2-compatible instances when you have an application running on the edge that is managed and deployed as a virtual machine (an Amazon Machine Image, or AMI). Snowcone supports the SNC1 instance type with three instances, including snc1.micro (1 CPU and 1 GB RAM), snc1.small (1 CPU and 2 GB RAM), and snc1.medium (2 CPU and 4 GB RAM). The support for EC2-compatible instances on Snowcone enables you to build and test your application on Amazon EC2. You can enable and provision EC2-compatible AMIs during AWS Snowcone job creation using either the AWS Management Console, AWS Snowball SDK, or AWS CLI.

Supported Amazon EC2 instance types

Use the following Amazon EC2 instance types for your compute jobs.

snc1.micro—1 CPU core, 1 GB RAM

snc1.small—1 CPU core, 2 GB RAM

snc1.medium—2 CPU cores, 4 GB RAM

Use AWS OpsHub to manage your instances on Snowcone. Download AWS OpsHub from the AWS Snowball resources website. After you unlock the device using AWS OpsHub, navigate to the Amazon EC2 page. Choose Create instance to create an EC2-compatible instance based on the AMI that you had preloaded onto the device when you created the job. You can then connect to the instances and run your edge application. AWS OpsHub also provides single-click buttons to start, stop, terminate, and reboot your EC2-compatible instances. For more information, see Using AWS OpsHub for Snow Family to Manage Devices.

When you're done with your device, return it to AWS. If the device was used in an import job, the data transferred using the file interface is imported into Amazon S3 by using the Snowcone NFS interface. Otherwise, we perform a complete erasure of the device when it is returned to AWS. This erasure follows the National Institute of Standards and Technology (NIST) 800-88 standards.

Important

Data in compute instances running on a Snowcone isn't imported into AWS.

Difference between Amazon EC2 and Amazon EC2-compatible instances on Snow Family devices

AWS Snow Family EC2-compatible instances allow customers to use and manage Amazon EC2-compatible instances using a subset of EC2 APIs and a subset of AMIs.

Pricing for Compute Instances on Snowcone

There are additional costs associated with using compute instances. For more information, see AWS Snowcone pricing.

Prerequisites

Before creating your job, keep the following information in mind:

  • Before you can add any AMIs to your job, you must have an AMI in your AWS account and it must be a supported image type. Currently, supported AMIs are based on the Amazon Linux 2, CentOS 7 (x86_64) - with Updates HVM, or Ubuntu 16.04 LTS - Xenial (HVM) images. You can get these images from the AWS Marketplace.

    Before you add AMIs to your job request, make sure that you have one or more supported AMIs in your AWS account. When choosing an AMI from the Marketplace, make sure it has a supported product code and platofrm. For more information, see Checking product codes and platform details of AWS Marketplace AMIs.

  • All AMIs must be based on Amazon Elastic Block Store (Amazon EBS), with a single volume.

  • If you are connecting to a compute instance running on a Snowcone, you must use Secure Shell (SSH). To do so, you first add the key pair.

Checking product codes and platform details of AWS Marketplace AMIs

Before you begin the process to add an AMI from AWS Marketplace to your Snow Family device, ensure the product code and platform details of the AMI are supported in your AWS Region.

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. From the navigation bar, select the Region in which to launch your instances and from which you will create the job to order the Snow Family device. You can select any Region that is available to you, regardless of your location.

  3. In the navigation pane, choose AMIs.

  4. Use the filter and search options to scope the list of displayed AMIs to see only the AMIs that match your criteria. For example, AMIs provided by the AWS Marketplace, choose Public images. Then use the search options to further scope the list of displayed AMIs:

    • (New console) Choose the Search bar and, from the menu, choose Owner alias, then the = operator, and then the value amazon.

    • (Old console) Choose the Search bar and, from the menu, choose Owner and then the value Amazon images.

    Note

    AMIs from AWS Marketplace include aws-marketplace in the Source column.

  5. In the AMI ID column, choose the AMI ID of the AMI.

  6. In the Image summary of the AMI, ensure the Product codes are supported by your Region. For more information, see the table below.

    Supported AWS Marketplace AMI product codes
    AMI operating system Product code
    Ubuntu Server 14.04 LTS b3dl4415quatdndl4qa6kcu45
    CentOS 7 (x86_64) aw0evgkw8e5c1q413zgy5pjce
    Ubuntu 16.04 LTS csv6h7oyg29b7epjzg7qdr7no
    Amazon Linux 2 avyfzznywektkgl5qv5f57ska
    Ubuntu 20.04 LTS a8jyynf4hjutohctm41o2z18m
    Ubuntu 22.04 LTS 47xbqns9xujfkkjt189a13aqe
  7. Then, also ensure the Platform details contains one of entries from the list below.

    • Amazon Linux, Ubuntu, or Debian

    • Red Hat Linux bring-your-own-license

    • Amazon RDS for Oracle bring-your-own-license

    • Windows bring-your-own-license

Creating a Linux AMI from an Instance

You can create an AMI using the console or the command line. Start with an existing AMI, launch an instance, customize it, create a new AMI from it, and finally, launch an instance of your new AMI.

To create an AMI from an instance using the console
  1. Choose an appropriate EBS-backed AMI as a starting point for your new AMI, and configure it as needed before launch. For more information, see Launching an instance using the Launch Instance Wizard.

  2. Choose Launch to launch an instance of the EBS-backed AMI that you've selected. Accept the default values as you step through the wizard. For more information, see Launching an instance using the Launch Instance Wizard.

  3. While the instance is running, connect to it. You can perform the following actions on your instance to customize it for your needs:

    • Install software and applications

    • Copy data

    • Reduce start time by deleting temporary files, defragmenting your hard drive, and zeroing out free space

    • Attach additional Amazon EBS volumes

  4. (Optional) Create snapshots of all the volumes attached to your instance. For more information about creating snapshots, see Creating Amazon EBS snapshots.

  5. In the navigation pane, choose Instances, and select your instance. For Actions, choose Image, Create Image

    Tip

    If this option is disabled, your instance isn't an Amazon EBS-backed instance.

  6. In the Create Image dialog box, specify the following information, and then choose Create Image.

    • Image name - A unique name for the image.

    • Image description - An optional description of the image, up to 255 characters.

    • No reboot - This option is not selected by default. Amazon EC2 shuts down the instance, takes snapshots of any attached volumes, creates and registers the AMI, and then reboots the instance. Choose No reboot to avoid having your instance shut down.

      Warning

      If you choose No reboot, we can't guarantee the file system integrity of the created image.

    • Instance Volumes - The fields in this section enable you to modify the root volume, and add other Amazon EBS and instance store volumes. For information about each field, pause on the i icon next to each field to display field tooltips. Some important points are listed following.

      • To change the size of the root volume, locate Root in the Volume Type column. For Size (GiB), enter the required value.

      • If you select Delete on Termination, when you terminate the instance created from this AMI, the Amazon EBS volume is deleted. If you clear Delete on Termination, when you terminate the instance, the Amazon EBS volume is not deleted. For more information, see Preserving Amazon EBS volumes on instance termination in the Amazon EC2 User Guide for Linux Instances.

      • To add an Amazon EBS volume, choose Add New Volume (which adds a new row). For Volume Type, choose EBS, and fill in the fields in the row. When you launch an instance from your new AMI, additional volumes are automatically attached to the instance. Empty volumes must be formatted and mounted. Volumes based on a snapshot must be mounted.

      • To add an instance store volume, see Adding Instance Store Volumes to an AMI. When you launch an instance from your new AMI, additional volumes are automatically initialized and mounted. These volumes do not contain data from the instance store volumes of the running instance on which you based your AMI.

  7. To view the status of your AMI while it is being created, in the navigation pane, choose AMIs. Initially, the status is pending but should change to available after a few minutes.

    (Optional) To view the snapshot that was created for the new AMI, choose Snapshots. When you launch an instance from this AMI, we use this snapshot to create its root device volume.

  8. Launch an instance from your new AMI. For more information, see Launching an instance using the Launch Instance Wizard.

  9. The new running instance contains all of the customizations that you applied in previous steps.

To Create an AMI from an Instance Using the Command Line

You can use one of the following commands. For more information about these command line interfaces, see Accessing Amazon EC2.

Creating a Linux AMI from a Snapshot

If you have a snapshot of the root device volume of an instance, you can create an AMI from this snapshot using the AWS Management Console or the command line.

To create an AMI from a snapshot using the console
  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the navigation pane, under Elastic Block Store, choose Snapshots.

  3. Choose the snapshot and choose Actions, Create Image.

  4. In the Create Image from EBS Snapshot dialog box, complete the fields to create your AMI, and then choose Create. If you're re-creating a parent instance, choose the same options as the parent instance.

    • Architecture: Choose i386 for 32-bit or x86_64 for 64-bit.

    • Root device name: Enter the appropriate name for the root volume. For more information, see Device naming on Linux instances.

    • Virtualization type: Choose whether instances launched from this AMI use paravirtual (PV) or hardware virtual machine (HVM) virtualization. For more information, see Linux AMI Virtualization Types.

    • (PV virtualization type only) Kernel ID and RAM disk ID: Choose the AKI and ARI from the lists. If you choose the default AKI or don't choose an AKI, you must specify an AKI every time you launch an instance using this AMI. In addition, your instance might fail the health checks if the default AKI is incompatible with the instance.

    • (Optional) Block Device Mappings: Add volumes or expand the default size of the root volume for the AMI. For more information about resizing the file system on your instance for a larger volume, see Extending a Linux file system after resizing a volume.

To Create an AMI from a Snapshot Using the Command Line

You can use one of the following commands. For more information about these command line interfaces, see Accessing Amazon EC2.