如何以编程方式将 EC2 EBS AMI 迁移到其他区域?

如何以编程方式将 EC2 EBS AMI 迁移到其他区域?

在基于 EBS 的 AMI 可用之前,可以使用命令ec2-迁移-镜像以便将 AMI 迁移到不同的区域。

有没有简单的方法可以对基于 EBS 的 AMI 执行相同的操作?要么使用官方的 amazon EC2 API 命令行工具,要么使用类似博托

答案1

亚马逊尚未提供一个简单的命令行界面来在区域之间复制 EBS 启动 AMI,就像他们对基于 S3 的 AMI 所做的那样。

为了复制 EBS 启动 AMI,您需要在两个区域中启动实例,并使用附加到每个实例的临时 EBS 卷将 EBS 快照从一个区域复制到另一个区域。

我建议使用带有适当选项的 rsync 来复制文件系统,而不是复制块设备,因为这样速度更快并且可以生成更小的快照。

在新区域中创建新的快照后,您将其注册为 AMI,并确保指定与源区域中的匹配的正确架构/AKI/ARI。

我写下了完成所有这些操作所需的具体命令行:

在 EC2 区域之间复制 EBS Boot AMI
http://alestic.com/2010/10/ec2-ami-copy

如果您需要的话,可以将其整合到一个自动化流程中。

答案2

复制图片AWS CLI 命令完全可以满足您的需要

https://docs.aws.amazon.com/cli/latest/reference/appstream/copy-image.html?highlight=image

就这样说吧

copy-image --source-image-name img --destination-image-name img_new --destination-region us-west-1

相关内容