我正在尝试通过在第一个账户上创建 AMI 并与第二个账户共享来将 EC2 实例从一个 AWS 账户克隆/转移到另一个账户。然后我可以使用该 AMI 在第二个账户上启动另一个 EC2 实例(使用相同的数据/设置/EBS 卷/等)。
我无法在第二个帐户上找到 AMI 映像。我尝试创建另一个 AMI 并将其公开列出,但仍然无法从第二个帐户中找到它。
如何将基于 EBS 的 EC2 实例从一个 AWS 账户转移或克隆到另一个账户?
我正在尝试通过在第一个账户上创建 AMI 并与第二个账户共享来将 EC2 实例从一个 AWS 账户克隆/转移到另一个账户。然后我可以使用该 AMI 在第二个账户上启动另一个 EC2 实例(使用相同的数据/设置/EBS 卷/等)。
我无法在第二个帐户上找到 AMI 映像。我尝试创建另一个 AMI 并将其公开列出,但仍然无法从第二个帐户中找到它。
如何将基于 EBS 的 EC2 实例从一个 AWS 账户转移或克隆到另一个账户?
不确定它是否仍然真实......但是您必须将目的地的帐号添加到 AMI 权限中,并且如果您选中“与我共享”复选框,您应该能够从该共享的 AMI 图像创建实例。
我认为您只能分享图像。这些文件使用您的私人帐户密钥加密,因此您不能只是移动文件。
您可以尝试将 AMI 迁移到同一区域,看看它是否会创建一个新区域:(但我对此表示怀疑)
http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-MigrateImage.html
大局:您不应该手动创建 AMI。使用Chef、Puppet或Ansible 之类的东西来构建您的服务器。这种新型工具是声明性的,因此比使用原始 shell 脚本构建要容易得多。这将使“在不同的帐户下重建”变得微不足道。
我喜欢说:
级别 1:将您的源代码检查到版本控制中
第 2 级:将您的服务器构建脚本检查到版本控制中
第 3 级:将您的“启动/管理我的基础架构”脚本检查到版本控制中
这可能有点晚了,但您可以通过以下方式实现,
ExecutableUsers
self
这样,您将能够找到账户 B 与您的账户共享的 AMI 图像。请记住,AMI-Id 将不同于账户 B 的 AMI Id。检查其他标签名称以确保图像的正确性。
将 EC2 克隆/转移/移动到另一个账户的过程包括:
在源区域中使用 CLI 命令 create-image 从源 EC2 实例创建新的 AMI(Amazon 系统映像)。
可选:使用 copy-image CLI 命令将 AMI 映像复制到目标区域。此过程需要一段时间,因此请在共享新 AMI 映像之前检查复制是否已完成,否则该过程将失败。根据区域的距离和 EC2 实例的大小,可能需要 10 分钟到数小时。
与 AWS 目标账户共享 AMI 映像。AMI 是一种区域资源,因此要使 AMI 映像在不同区域中可用,请将 AMI 复制到该区域,然后共享它。要共享 AMI 映像,我们需要使用 modify-image-attribute CLI 命令。
使用 run-instances CLI 命令从共享的 AMI 映像启动新的 EC2 实例。
如果您要克隆安全组、标记实例和删除临时 AMI,则整个过程稍微复杂一些,最多涉及 16 个步骤。
我在https://medium.com/@gmusumeci/how-to-move-an-ec2-instance-to-another-aws-account-e5a8f04cef21写了一篇博客详细解释了所有这些步骤
吉列尔莫
创建 ec2 实例的 AMI 使用 accountid 共享 AMI 在第二个 aws account -create instance 中,选择 AMI (shared with me) 您应该能够看到共享的 AMI -Launch 实例