【发布时间】:2011-07-21 02:17:54
【问题描述】:
有什么简单的方法可以在区域之间移动和自定义 AMI 映像吗? (东京 -> 新加坡)
我知道你可以通过使用 API 和 S3 来完成它,但是有没有更简单的方法呢?
【问题讨论】:
标签: amazon-s3 amazon-ec2 amazon-ami
有什么简单的方法可以在区域之间移动和自定义 AMI 映像吗? (东京 -> 新加坡)
我知道你可以通过使用 API 和 S3 来完成它,但是有没有更简单的方法呢?
【问题讨论】:
标签: amazon-s3 amazon-ec2 amazon-ami
Ylastic 允许您在区域之间移动支持 EBS 的 linux 映像。
每月 25 或 50 美元,但看起来你可以评估一周。
【讨论】:
您可以使用 Eric 的帖子来做到这一点: http://alestic.com/2010/10/ec2-ami-copy
【讨论】:
我刚刚使用 CloudyScripts 上的脚本完成了这项工作,效果非常好:https://cloudyscripts.com/tool/show/5(而且它是免费的)。
【讨论】:
【讨论】:
以下假设您的 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
【讨论】:
我认为 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
【讨论】:
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
【讨论】:
截至 2012 年 12 月,Amazon 现在支持通过 UI 工具(Amazon 管理控制台)将 AMI 迁移到另一个区域。查看他们的文档here
那么,我是怎么做到的..
架构:(选择 32 位或 64 位)
名称/描述:(给它一个)
内核 ID:迁移 Linux AMI 时,如果您选择“默认”,则可能会失败。对我有用的是去亚马逊内核列表here 找到亚马逊支持的内核,然后在创建图像时指定它)
根设备名称:/dev/sda1
点击“是的,创建”
4.从新的 AMI 启动一个实例并测试您是否可以连接。
【讨论】:
亚马逊刚刚在this blog post 中宣布支持此功能。请注意,dmohr 的回答与复制 EBS 相关,而不是 AMI。
如果博客文章不可用,请引用相关部分:
要使用 AMI Copy,只需从 AWS 管理控制台,选择目标区域,然后启动 复制。 AMI Copy 也可以通过 EC2 命令行访问 EC2 User’s Guide 中描述的接口或 EC2 API。一旦 复制完成,新的 AMI 可用于启动新的 EC2 实例 在目标地区。
【讨论】: