Amazon Elastic Compute Cloud
CLI Reference (API Version 2011-12-15)
Print this pageEmail this pageGo to the ForumsView the PDFShare this page on TwitterShare this page on FacebookBookmark this page on DeliciousSubmit this page to RedditSubmit this page to DiggDid this page help you?  Yes  No   Tell us about it...

ec2-migrate-image

Description

Copies a bundled AMI from one Region to another.

[Note]Note

This tool replaces ec2-migrate-bundle.

This tool does not work with AMIs backed by Amazon EBS.

The short version of this command is ec2mim.

Syntax

ec2-migrate-image --private-key private_key --cert cert -U url --owner-akid access_key_id --owner-sak secret_access_key --bucket source_s3_bucket --destination-bucket destination_s3_bucket --manifest manifest_path --acl acl --location {US | EU} --ec2cert ec2_cert_path [--kernel kernel-id] [--ramdisk ramdisk_id] {--no-mapping} --region mapping_region_name

Options

NameDescriptionRequired

-K, --private-key private_key

The path to your PEM-encoded RSA key file.

Type: String

Default: Uses EC2_PRIVATE_KEY environment variable

No

-C, --cert cert

The user's PEM encoded RSA public key certificate file.

Type: String

Default: Uses EC2_CERT environment variable

Example: -C cert-HKZYKTAIG2ECMXYIBH3HXV4ZBZQ55CLO.pem

No

-U, --url url

Specifies the URL to use as the web service URL.

Type: String

Default: https://ec2.amazonaws.com

Example: -U https://ec2.amazonaws.com

No

-o, --owner-akid access_key_id

Access key ID of the bucket owner.

Type: String

Default: None

Example: -o AKIADQKE4SARGYLE

Yes

-w, --owner-sak secret_access_key

Secret access key of the bucket owner.

Type: String

Default: None

Example: -w eW91dHViZS5jb20vd2F0Y2g/dj1SU3NKMTlzeTNKSQ==

Yes

--bucket source_s3_bucket

The source Amazon S3 bucket where the AMI is located, followed by an optional '/'-delimited path prefix.

Type: String

Default: None

Example: --bucket my-us-bucket

Yes

--destination-bucket destination_s3_bucket

The destination Amazon S3 bucket, followed by an optional '/'-delimited path prefix. If the destination bucket does not exist, it is created.

Type: String

Default: None

Example: --destination-bucket my-eu-bucket

Yes

--manifest manifest

The location of the Amazon S3 source manifest.

Type: String

Default: None

Example: --manifest my-ami.manifest.xml

Yes

--location {US | EU}

The location of the destination Amazon S3 bucket.

Type: String

Valid Values: US | EU

Default: US

Example: --location EU

No

--acl acl

The access control list policy of the bundled image.

Type: String

Valid Values: public-read | aws-exec-read

Default: None

Example: --acl public-read

Yes

--kernel

The ID of the kernel to select.

Type: String

Default: None

Example: --kernel aki-ba3adfd3

No

--ramdisk

The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information on whether you need to specify a RAM disk. To find kernel requirements, refer to the Resource Center and search for the kernel ID.

Type: String

Default: None

Example: --ramdisk ari-badbad00

No

--no-mapping

Disables automatic mapping of kernels and RAM disks.

Type: String

Default: Mapping is enabled.

Example: --no-mapping

No

--region region

Region to look up in the mapping file.

Type: String

Default: Amazon EC2 attempts to determine the Region from the location of the Amazon S3 bucket.

Example: --region eu-west-1

No

Common Options

OptionDescription

--region REGION

Overrides the Region specified in the EC2_URL environment variable and the URL specified by the -U option.

Default: The EC2_URL environment variable, or us-east-1 if the environment variable is not set.

Example: --region eu-west-1

-U, --url URL

URL is the uniform resource locator of the Amazon EC2 web service entry point.

Default: The EC2_URL environment variable, or https://ec2.amazonaws.com if the environment variable is not set.

Example: -U https://ec2.amazonaws.com

-K, --private-key EC2-PRIVATE-KEY

The private key to use when constructing requests to Amazon EC2.

Default: The value of the EC2_PRIVATE_KEY environment variable.

Example: -K pk-HKZYKTAIG2ECMXYIBH3HXV4ZBZQ55CLO.pem

-C, --cert EC2-CERT

The X.509 certificate to use when constructing requests to Amazon EC2.

Default: The value of the EC2_CERT environment variable.

Example: -C cert-HKZYKTAIG2ECMXYIBH3HXV4ZBZQ55CLO.pem

--connection-timeout TIMEOUT

Specifies a connection timeout (in seconds).

Example: --connection-timeout 30

--request-timeout TIMEOUT

Specifies a request timeout (in seconds).

Example: --request-timeout 45

-v, --verbose

Displays verbose output by showing the SOAP request and response on the command line. This is particularly useful if you are building tools to talk directly to our SOAP API.

-H, --headers

Displays column headers in the output.

--show-empty-fields

Shows empty columns as (nil).

--hide-tags

Do not display tags for tagged resources.

--debug

Prints internal debugging information. This is useful to assist us when troubleshooting problems.

-?, --help, -h

Displays Help.

-

If - is specified as an argument to one of the parameters, a list of arguments is read from standard input. This is useful for piping the output of one command into the input of another.

Example: ec2-describe-instances | grep stopped | cut -f 2 | ec2-start-instances -

Output

The command returns a table that contains the following information:

  • Status messages describing the stages and status of the migration

Amazon EC2 command line tools display errors on stderr.

Examples

Example Request

This example copies the AMI specified in the my-ami.manifest.xml manifest from the US to the EU.

PROMPT> ec2-migrate-image --cert cert-THUMBPRINT.pem --privatekey pk-THUMBPRINT.pem --owner-akid
AKIADQKE4SARGYLE --owner-sak eW91dHViZS5jb20vd2F0Y2g/dj1SU3NKMTlzeTNKSQ== --bucket my-us-bucket
--destination-bucket my-eu-bucket --manifest my-ami.manifest.xml --location EU
Copying 'my-ami.part.00'...
Copying 'my-ami.part.01'...
Copying 'my-ami.part.02'...
Copying 'my-ami.part.03'...
Copying 'my-ami.part.04'...
Copying 'my-ami.part.05'...
Copying 'my-ami.part.06'...
Copying 'my-ami.part.07'...
Copying 'my-ami.part.08'...
Copying 'my-ami.part.09'...
Copying 'my-ami.part.10'...
Your new bundle is in S3 at the following location:
my-eu-bucket/my-ami.manifest.xml