How can I launch an Amazon EC2 instance on Snowball Edge?

Last updated: 2020-03-12

I want to launch an Amazon Elastic Compute Cloud (Amazon EC2) on an AWS Snowball Edge device. How can I do that?

Resolution

Before you begin, confirm that you have a supported AMI in your AWS account. Be sure to also review the quotas for instances on a Snowball Edge device.

Prepare the Snowball Edge client, Snowball Edge device, and the AWS Command Line Interface (AWS CLI)

1.    Download the Snowball Edge client.

2.    Configure a profile for the Snowball Edge client.

3.    Using the Snowball Edge client, unlock the Snowball Edge device with the unlock-device command:

$ snowballEdge unlock-device

4.    It might take a few minutes for the device to unlock. Using the Snowball Edge client, you can run the describe-device command to check the unlock status:

$ snowballEdge describe-device

5.    Each Snowball Edge device has its own unique set of AWS CLI credentials. Get the credentials for your device by running these commands:  

$ snowballEdge list-access-keys
$ snowballEdge get-secret-access-key --access-key-id (Enter access key)

6.    Install and configure the latest version of the AWS CLI.

Note: To transfer data to an Amazon Simple Storage Service (Amazon S3) bucket that's on the Snowball Edge device, then you must use AWS CLI version 1.16.14.

Launch your EC2 instance

1.    Run the describe-device Snowball client command:

$ snowballEdge describe-device

2.    From the command output, note the physical-network-interface-id of the network connection that's connected.

3.    Run the create-virtual-network-interface Snowball client command and be sure to enter the following:

  • For --physical-network-interface-id, enter the ID that you noted in the previous step.
  • For --ip-address-assignment, enter either DHCP or STATIC.

$ snowballEdge create-virtual-network-interface --physical-network-interface-id s.ni-xxxxxxxxxxxx --ip-address-assignment DHCP
$ snowballEdge create-virtual-network-interface --physical-network-interface-id s.ni-xxxxxxxxxxxx --ip-address-assignment STATIC --static-ip-address-configuration IpAddress=xxxx.xx.xx.xx,Netmask=255.255.255.0

4.    From the command output, note the IP address.

5.    Run the describe-images AWS CLI command to list the image IDs of the instances that you ordered.

$ aws ec2 describe-images --endpoint http://xx.xx.xx.xx:8008 --profile snowballEdge

6.    From the command output, note the image ID.

7.    Run the run-instances AWS CLI command and be sure to enter the image ID that you noted in step 6:

$ aws ec2 run-instances --image-id s.ami-xxxxxxxxxxx --profile snowabllEdge --endpoint http://xx.xx.xx.xx:8008

8.    From the command output, note the instance ID.

9.    Depending on the size of the Amazon Elastic Block Store (Amazon EBS) volume, the instance launch can take longer than an hour. To check the instance launch status, you can run the describe-instances AWS CLI command:

$ aws ec2 describe-instances --instance-id s.i-xxxxxxxxx --endpoint http://xx.xx.xx.xx:8008 --profile snowballEdge

10.    After the status changes to Name: Running, you can proceed. Run the associate-address AWS CLI command and be sure to enter the following:

  • For --instance-id, enter the ID that you noted in step 8.
  • For --public-ip, enter the IP address that you noted in step 4. If you created a virtual network interface with DHCP IP address assignment, then run the describe-virtual-network-interfaces Snowball client command to get the IP address assigned by DHCP.
$ aws ec2 associate-address --instance-id s.i-xxxxxxx --public-ip xx.xx.xx.xx --profile snowballEdge --endpoint http://xx.xx.xx.xx:8008

11.    Run the describe-instances AWS CLI command to check whether the IP address is successfully associated with your instance:

$ aws ec2 describe-instances --instance-id s.i-xxxxxxxxx --endpoint http://xx.xx.xx.xx:8008 --profile snowballEdge

Did this article help you?

Anything we could improve?


Need more help?