56

在区域之间移动和自定义 AMI 映像的任何简单方法?(东京 -> 新加坡)

我知道你可以用 API 和 S3 来完成它,但是有没有更简单的方法呢?

4

11 回答 11

91

截至 2012 年 12 月,Amazon 现在支持通过 UI 工具(Amazon 管理控制台)将 AMI 迁移到另一个区域。在此处查看他们的文档

所以,我是怎么做到的。。

  1. 从 AMI 中找出 Snapshot-ID 及其连接方式(例如 /dev/sda1)
  2. 选择快照,单击“复制”,设置目标区域并进行复制(需要一段时间!)
  3. 选择新快照,点击“创建镜像

        架构:(选择 32 或 64 位)

        名称/描述:(给它一个)

        内核 ID:迁移 Linux AMI 时,如果您选择“默认”,它可能会失败。对我有用的是转到此处的 Amazon Kernels 列表 以查找 Amazon 支持的内核,然后在创建映像时指定它)

        根设备名称:/dev/sda1

        点击“是,创建

  4.从新的 AMI 启动一个实例并测试您是否可以连接。

于 2013-01-07T23:35:05.130 回答
7

您可以使用 Eric 的帖子: http ://alestic.com/2010/10/ec2-ami-copy

于 2011-03-23T08:53:26.143 回答
7

以下假设您的 AWS 控制台实用程序安装在 中/opt/aws/bin/JAVA_HOME=/usr并且您正在运行 i386 架构,否则替换为 x86_64。

1) 运行实时快照,您认为您的图像可以容纳 1.5GB,并且您可以在 /mnt 中备用(检查运行df

/opt/aws/bin/ec2-bundle-vol -d /mnt -k /home/ec2-user/.ec2/pk-XXX.pem -c /home/ec2-user/.ec2/cert-XXX.pem -u 123456789 -r i386 -s 1500

2) 上传到当前区域的 S3 存储桶

/opt/aws/bin/ec2-upload-bundle -b S3_BUCKET -m /mnt/image.manifest.xml -a abcxyz -s SUPERSECRET

3) 将图像传输到 EU S3 存储桶

/opt/aws/bin/ec2-migrate-image -K /home/ec2-user/.ec2/pk-XXX.pem -C /home/ec2-user/.ec2/cert-XXX.pem -o abcxyz -w SUPERSECRET --bucket S3_BUCKET_US --destination-bucket S3_BUCKET_EU --manifest image.manifest.xml --location EU

4) 注册您的 AMI,以便您可以在爱尔兰启动实例

/opt/aws/bin/ec2-register –K /home/ec2-user/.ec2/pk-XXX.pem –C /home/ec2-user/.ec2/cert-XXX.pem http://s3.amazonaws.com:80/S3_BUCKET/image.manifest.xml --region eu-west-1 -name DEVICENAME -a i386 --kernel aki-xxx

于 2012-07-05T20:17:29.330 回答
6

有用于此的 API 工具。http://docs.amazonwebservices.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-MigrateImage.html

于 2012-05-21T12:38:32.300 回答
4

我认为现在 ec2-bundle-vol 和 ec2-migrate-image 已经过时了,顺便说一句,您还可以看看 Lincoln D. Stein 的这个 Perl 脚本: http ://search.cpan.org/~lds/VM -EC2/bin/migrate-ebs-image.pl

用法:

$ migrate-ebs-image.pl --from us-east-1 --to ap-southeast-1 ami-123456

于 2012-10-10T13:31:29.223 回答
4

亚马逊刚刚在这篇博文中宣布支持此功能。请注意,dmohr 的回答与复制 EBS 相关,而不是 AMI。

如果博客文章不可用,请引用相关部分:

要使用 AMI Copy,只需从 AWS 管理控制台中选择要复制的 AMI,选择目标区域,然后开始复制。AMI Copy 也可以通过 EC2 命令行界面或 EC2 API 访问,如EC2 用户指南中所述。复制完成后,新的 AMI 可用于在目标区域启动新的 EC2 实例。

于 2013-03-13T12:02:12.360 回答
3

AWS 现在支持通过 UI/CLI/API 将 EBS 快照复制到另一个区域。您可以复制快照,然后从中创建 AMI。直接 AMI 副本来自 AWS:

“我们还计划推出 Amazon Machine Image (AMI) Copy 作为此功能的后续功能,这将使您能够跨区域复制公共和自定义创建的 AMI。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html?ref_=pe_2170_27415460

于 2013-01-02T22:02:17.763 回答
1

Ylastic允许您在区域之间移动支持 EBS 的 linux 映像。

它每月 25 美元或 50 美元,但看起来你可以评估一周。

于 2011-03-23T08:03:00.813 回答
1

我只是使用 CloudyScripts 上的脚本完成了这项工作,效果非常好:https ://cloudyscripts.com/tool/show/5 (而且它是免费的)。

于 2012-02-08T12:58:58.023 回答
1

截至2017 年,这非常简单.. 只需按照屏幕截图进行操作:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

于 2017-02-07T14:57:18.483 回答
0

我会将Scalr添加到您可以使用的工具列表中(免责声明:我在那里工作)。在 Scalr 中,您可以创建自己的 AMI(我们称之为角色)。一旦你的角色准备好了,你只需要选择你想要部署它的地方(所以在任何地区)。

Scalr是在 Apache 2 许可下发布的开源软件:您可以下载并自行安装。否则,它也可以通过包含支持的托管版本获得。Scalar 的替代品包括 RightScale 和 enStratus。

于 2012-03-27T18:54:27.707 回答