Creating a Compute Job - AWS Snowball Edge Developer Guide

Creating a Compute Job

In this section, you create your first Amazon EC2-compatible compute instance job for an AWS Snowball Edge device.

Important

Be aware of the following points before you create your job:

  • 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 Secure Shell (SSH) to connect to the instance after you launch the instance on your Snowball Edge, you must first perform the following procedure. You can't update the AMIs on your Snowball Edge after the fact. You must do this step before creating the job.

Configuring 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 Snowball Edge 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.

Important

If you don't follow this procedure, you can't connect to your instances with SSH when you receive your Snowball Edge device.

To put an SSH key into an AMI
  1. Launch a new instance in the AWS Cloud based on the CentOS 7 (x86_64) - with Updates HVM, Ubuntu 16.04 LTS - Xenial (HVM), and Amazon Linux 2 AMI image, or Windows.

    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 Snowball Edge. 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 Snowball Edge, see Quotas for Compute Instances on a Snowball Edge Device.

  2. Install and configure the applications that you want to run on the Snowball Edge, and test that they work as expected.

  3. 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 Snowball Edge. 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.

  4. 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.

  5. 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. Using the AWS Snow Family Management Console, follow the instructions provided in see Creating a job to order a Snow Family device. When you get to the Step 3: Give job details page in the job creation wizard, perform the following additional steps.

  1. Choose Enable compute with EC2.

  2. Choose Add an AMI.

  3. In the dialog box that opens, choose an AMI and then choose Save.

  4. Add up to 20 total AMIs to your job, depending on device type.

  5. Continue creating your job as normal.

Creating Your Job in the AWS CLI

You can also create your job using the AWS CLI. To do this, open a terminal and run the following command, replacing the red text with your actual values.

aws snowball create-job --job-type IMPORT --resources '{"S3Resources":[{"BucketArn":"arn:aws:s3:::bucket-name"}],"Ec2AmiResources":[{"AmiId":"ami-12345678"}]}' --description Example --address-id ADIEXAMPLE60-1234-1234-5678-41fEXAMPLE57 --kms-key-arn arn:aws:kms:us-west-2:012345678901:key/eEXAMPLE-1234-1234-5678-5b4EXAMPLE8e --role-arn arn:aws:iam::012345678901:role/snowball-local-s3-lambda-us-west-2-role --snowball-capacity-preference T100 --shipping-option SECOND_DAY --snowball-type EDGE

After it arrives and you unlock your device, use the Snowball Edge client to get your local credentials. For more information, see Getting Credentials.