Creating a Job with Compute Instances
In this section, you create your first compute instance job.
Important
Be aware of the following points before you create your job:
If you're going to use an AMI from the Amazon Web Services Marketplace, make sure it has a supported product code and usage operation code. For more information, see Checking product and usage option codes for Amazon Web Services Marketplace AMIs.
-
Make sure that the vCPU, memory, and storage values associated with your AMI match the type of instance that you want to create.
-
If you're going to use SSH to connect to the instance after you launch the instance on your Snowcone, you must first perform the following procedure.
Using encrypted AMIs or encrypted Amazon EBS volumes on Amazon Snowcone devices is not supported.
Checking product and usage option codes for Amazon Web Services Marketplace AMIs
Before you begin the process to add an AMI from Amazon Web Services Marketplace to your Snow Family device, ensure the product and usage codes of the AMI are supported in your Amazon Web Services Region.
Open the Amazon EC2 console at https://console.amazonaws.cn/ec2/
. 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's available to you, regardless of your location.
In the navigation pane, choose AMIs.
Use the filter and search options to scope the list of displayed AMIs to see only the AMIs that match your criteria. For example, to list all Linux AMIs provided by Amazon, 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. Choose the Search bar again to choose Platform, then the = operator, and then the operating system from the list provided.
(Old console) Choose the Search bar and, from the menu, choose Owner and then the value Amazon images. Choose the Search bar again to choose Platform and then the operating system from the list provided.
Note
AMIs from Amazon Web Services Marketplace include aws-marketplace in the Source column.
In the AMI ID column, choose the AMI ID of the AMI.
In the Image summary of the AMI, ensure the Product codes are supported by your Region. For more information, see the table below.
Note
The product code avyfzznywektkgl5qv5f57ska is supported in all Regions.
Supported Amazon Web Services Marketplace AMI product codesAMI operating system Product code Ubuntu Server 14.04 LTS b3dl4415quatdndl4qa6kcu45 CentOS 7 (x86_64) aw0evgkw8e5c1q413zgy5pjce Ubuntu 16.04 LTS csv6h7oyg29b7epjzg7qdr7no Amazon Linux 2 avyfzznywektkgl5qv5f57ska For all Regions, ensure the Usage operation code is RunInstances.
Determining the version of the Amazon Linux 2 AMI for Snow Family
Use the following procedure to determine the version of the Amazon Linux 2 AMI for Snow Family on the Snow Family device. Install the latest version of the Amazon CLI before continuing. For more information, see Install or update to the latest version of the Amazon CLI in the Amazon Command Line Interface User Guide.
Use the
describe-images
Amazon CLI command to see the description of the AMI. The version is contained in the description. Provide the public key certificate from the previous step. For more information, see describe-imagesin the Amazon CLI Command Reference. aws ec2 describe-images --endpoint http://
snow-device-ip
:8008 --region snowExample of output of the
describe-images
command{ "Images": [ { "CreationDate": "2024-02-12T23:24:45.705Z", "ImageId": "s.ami-02ba84cb87224e16e", "Public": false, "ProductCodes": [ { "ProductCodeId": "avyfzznywektkgl5qv5f57ska", "ProductCodeType": "marketplace" } ], "State": "AVAILABLE", "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "DeleteOnTermination": true, "Iops": 0, "SnapshotId": "s.snap-0efb49f2f726fde63", "VolumeSize": 8, "VolumeType": "sbp1" } } ], "Description": "Snow Family Amazon Linux 2 AMI 2.0.20240131.0 x86_64 HVM gp2", "EnaSupport": false, "Name": "amzn2-ami-snow-family-hvm-2.0.20240131.0-x86_64-gp2-b7e7f8d2-1b9e-4774-a374-120e0cd85d5a", "RootDeviceName": "/dev/xvda" } ] }
In this example, the version of the Amazon Linux 2 AMI for Snow Family is
2.0.20240131.0
. It is found in the value of theDescription
name.
Configure an AMI to Use SSH to Connect to Compute Instances Launched on the Device
To use Secure Shell (SSH) to connect to your compute instances on Snowcone devices, you must perform the following procedure. This procedure adds the SSH key to the AMI before creating your job. We also recommend that you use this procedure to set up your applications on the instance that you plan to use as the AMI for your job.
To put an SSH key into an AMI
-
When you launch your instance, make sure that the storage size that you assign to the instance is appropriate for your later use on the Snowcone. In the Amazon EC2 console, you do this in Step 4: Add Storage. For a list of the supported sizes for compute instance storage volumes on a Snowcone, see Amazon Snowcone quotas .
-
Install and configure the applications that you want to run on the Snowcone, and test that they work as expected.
-
Make a copy of the PEM/PPK file that you used for the SSH key pair to create this instance. Save this file to the server that you plan to use to communicate with the Snowcone. This file is required for using SSH to connect to the launched instance on your device, so make a note of the path to this file.
-
Save the instance as an AMI. For more information, see Creating an Amazon EBS-Backed Linux AMI in the Amazon EC2 User Guide for Linux Instances.
-
Repeat this procedure for each of the instances that you want to connect to using SSH. Make sure that you make copies of your different SSH key pairs and take note of the AMIs they're associated with.
Creating Your Job in the Console
Your next step is to create a job to order a Snow Family device. Your job can be of any job type, including a
cluster. To use the Amazon Snow Family Management Console
Creating Your Job in the Amazon CLI
You can also create your job using the Amazon CLI. To do this, open a terminal and run the following command, replacing the red text with your actual values.
aws snowballEdge create-job --job-type
IMPORT
--resources '{"S3Resources":[{"BucketArn":"arn:aws:s3:::bucket-name
"}],"Ec2AmiResources":[{"AmiId":"ami-12345678
"}]}' --description Example --address-idADIEXAMPLE60-1234-1234-5678-41fEXAMPLE57
--kms-key-arnarn:aws:kms:us-west-2:012345678901:key/eEXAMPLE-1234-1234-5678-5b4EXAMPLE8e
--role-arnarn:aws:iam::012345678901:role/snowball-local-s3-lambda-us-west-2-role
--snowball-capacity-preference T100 --shipping-optionSECOND_DAY
--snowball-type SNOWCONE
After your device arrives and you unlock it, use the Snowball Edge client to get your local credentials. For more information, see Getting Credentials.