【问题标题】:Move Amazon EC2 AMIs between regions via web-interface?通过 Web 界面在区域之间移动 Amazon EC2 AMI?
【发布时间】:2011-07-21 02:17:54
【问题描述】:

有什么简单的方法可以在区域之间移动和自定义 AMI 映像吗? (东京 -> 新加坡)

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

【问题讨论】:

    标签: amazon-s3 amazon-ec2 amazon-ami


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您可以使用 Eric 的帖子来做到这一点: http://alestic.com/2010/10/ec2-ami-copy

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

          • 你真的可以使用 scalr 在区域之间复制现有角色吗?如果是这样,您能否指出一些对我有帮助的文档?
          【解决方案5】:

          【讨论】:

          • 请记住,这仅适用于基于实例的 EC2 AMI(非 EBS),对于 EBS AMI,请参阅 micred 和 rynop 的答案
          【解决方案6】:

          以下假设您的 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

          【讨论】:

            【解决方案7】:

            我认为 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

            【讨论】:

              【解决方案8】:

              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

              【讨论】:

                【解决方案9】:

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

                那么,我是怎么做到的..

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

                        架构:(选择 32 位或 64 位)

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

                        内核 ID:迁移 Linux AMI 时,如果您选择“默认”,则可能会失败。对我有用的是去亚马逊内核列表here 找到亚马逊支持的内核,然后在创建图像时指定它)

                        根设备名称:/dev/sda1

                        点击“是的,创建

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

                【讨论】:

                • 终于搞定了。根设备名称可能并不总是 sda1。如果您使用的 hd00 内核使用 /dev/sda 作为根磁盘(即:无分区),那么新 AMI 上的 /dev/sda 也需要。
                • 也不适用于 Windows 实例 - 创建映像步骤将不允许您创建自己的 Windows AMI - 它最终会出现无法正常启动的其他 Linux 类型.
                • @Chris,对于 Windows,你是对的 - 但是有办法做到这一点,请参阅我在此线程中的第二篇文章“tibcoeducation”forums.aws.amazon.com/…>
                【解决方案10】:

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

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

                要使用 AMI Copy,只需从 AWS 管理控制台,选择目标区域,然后启动 复制。 AMI Copy 也可以通过 EC2 命令行访问 EC2 User’s Guide 中描述的接口或 EC2 API。一旦 复制完成,新的 AMI 可用于启动新的 EC2 实例 在目标地区。

                【讨论】:

                • 您可以使用 dmohr 指令复制 AMI。如果 AMI 有多个卷/快照,那么它可能会更复杂一些。但是,一旦您移动了快照,您就可以创建一个映像(或 AMI),然后在另一个区域启动实例
                【解决方案11】:

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

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2013-06-24
                  • 2011-04-23
                  • 1970-01-01
                  • 2022-06-18
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多