如何使用 Packer 将 AMI 复制到另一个帐户?

4 amazon-ec2 packer amazon-web-services amazon-ami

我有两个 AWS 账户:

  1. 测试账户
  2. 产品帐户

我正在测试帐户中使用 Packer 创建一个 AMI,然后想将 AMI 复制到 Prod 帐户。

我如何使用 Packer 来做到这一点,并在工作完成后删除实际的 AMI?

我已经检查了以下问题,但他们没有解决我的查询:

  1. 如何将 AMI AWS 帐号权限从一个 AMI 映像批量复制到另一个?
  2. 如何将 AMI 从一个 aws 帐户复制到另一个 aws 帐户?

asd*_*sdf 6

您可以通过在 packer 中使用ami_users指令来完成此行为。这将允许指定账户从源账户访问创建的 AMI。

如果您希望在每个账户中拥有 AMI 的深层副本(不同的 ID),那么您将必须packer build使用凭据重新运行到另一个账户。


Vim*_*mar 5

如上所述,使用ami_users

我们在生产中使用它的方式是,我们通常在“vars”文件夹中为每个环境都有一个 vars 文件。vars JSON 文件中的值之一是"nonprod_account_id":"1234567890". 然后在 packer.json 中,使用ami_users ,如下所示。

"ami_users": ["{{user `nonprod_account_id`}}"]
Run Code Online (Sandbox Code Playgroud)