Amazon web services 在AWS帐户之间克隆/传输EC2实例(AMI)

Amazon web services 在AWS帐户之间克隆/传输EC2实例(AMI),amazon-web-services,amazon-ec2,cloud,clone,transfer,Amazon Web Services,Amazon Ec2,Cloud,Clone,Transfer,我试图通过在第一个帐户上创建AMI并与第二个帐户共享,将EC2实例从一个AWS帐户克隆/传输到另一个AWS帐户。然后我可以使用该AMI在第二个帐户上启动另一个EC2实例(w/相同的数据/设置/EBS卷/等等) 我在第二个帐户上查找AMI映像时遇到问题。我尝试创建另一个AMI并将其公开列出,但仍然无法从第二个帐户中找到它 如何将基于EBS的EC2实例从一个AWS帐户传输或克隆到另一个AWS帐户?我认为您只能共享该映像。这些文件带有您的私人帐户密钥,因此您不能仅移动这些文件 您可以尝试将一个AMI迁

我试图通过在第一个帐户上创建AMI并与第二个帐户共享,将EC2实例从一个AWS帐户克隆/传输到另一个AWS帐户。然后我可以使用该AMI在第二个帐户上启动另一个EC2实例(w/相同的数据/设置/EBS卷/等等)

我在第二个帐户上查找AMI映像时遇到问题。我尝试创建另一个AMI并将其公开列出,但仍然无法从第二个帐户中找到它


如何将基于EBS的EC2实例从一个AWS帐户传输或克隆到另一个AWS帐户?

我认为您只能共享该映像。这些文件带有您的私人帐户密钥,因此您不能仅移动这些文件

您可以尝试将一个AMI迁移到同一个区域,看看它是否创建了一个新的AMI:(但我对此表示怀疑)

总体情况:您应该而不是手动创建AMI。使用类似或的方法来构建服务器。这种新型工具是声明性的,因此比使用原始shell脚本构建要容易得多。这将使“在不同帐户下重建”变得微不足道

我想说:

级别1:将源代码检查到版本控制中

级别2:将服务器构建脚本检查到版本控制中


级别3:将“启动/管理我的基础架构”脚本检查到版本控制中这可能有点晚,但您可以通过

  • 为帐户B的AMI授予帐户A的启动权限
  • 使用帐户A凭据创建EC2客户端
  • 现在,使用
    ExecutableUsers
    参数和
    self

  • 通过这种方式,您将能够找到帐户B与您的帐户共享的AMI映像。请记住AMI Id将不同于帐户B的AMI Id。请检查其他标记名以确保映像的正确性。

    不确定其是否仍然是实际的。。。但您必须将目的地的帐号添加到AMI权限中,然后,如果选中“与我共享”复选框,您应该能够从该共享AMI映像创建实例


    将EC2克隆/转移/移动到另一个帐户的过程包括:

    在源区域中使用CLI命令Create Image从源EC2实例创建新的AMI(Amazon机器映像)

    可选:使用Copy image CLI命令将AMI映像复制到目标区域。此过程需要一段时间,因此请在共享新AMI映像之前检查复制是否已完成,否则此过程将失败。根据区域的接近程度和EC2实例的大小,可能需要10分钟到数小时

    与AWS目标帐户共享AMI映像。AMI是一种区域资源,因此要使AMI映像在不同的区域可用,请将AMI复制到该区域,然后共享它。要共享AMI映像,我们需要使用modify image attribute CLI命令

    使用runinstances CLI命令从共享AMI映像启动新的EC2实例

    如果要克隆安全组、标记实例和删除临时AMI,整个过程会稍微复杂一些,最多需要16个步骤

    我写了一篇博客,详细解释了所有这些步骤


    Guillermo创建ec2实例的AMI 使用accountid共享AMI 在第二个aws账户中 -创建实例,选择AMI(与我共享),您应该能够看到 共享AMI
    -启动实例

    感谢您的回答,但我不希望在区域之间迁移图像。我已经创建了EC2实例的AMI,并与第二个帐户共享。我只是在第二个帐户上找不到它,无法使用该AMI启动新的EC2实例。应在运行在不同AWS帐户上的新EC2实例上使用/克隆包含所有数据的所有相应EBS卷。