我目前正在通过Packer毫无问题地构建AMI,但是我正在将AWS凭证烘焙到我的脚本中,这不是我想要的。阅读Packer文档后,他们指定如果找不到凭据,则可以使用AWS角色。

我已经创建了策略和角色,但是尚不清楚如何告诉Packer使用该角色。我是否必须将ARN作为变量传递?

有什么想法吗?

最佳答案

如果您想通过命令行(例如,通过Jenkins)设置Packer在AMI创建过程中使用的IAM角色,则可以使用变量来进行设置,例如在Packer脚本中使用以下命令:

"variables": {
  "packer_profile": "packer",
  ...
},
"builders": [
  {
    "type": "amazon-ebs",
    ...
    "iam_instance_profile": "{{user `packer_profile`}}",
    ...
  }
],
"provisioners": [
  ...
]

因此,我们为packer_profile变量提供了默认的“打包程序”值。然后,在Jenkins中从命令行调用Packer时,您可以使用以下方法覆盖该默认变量值:
$ /path/to/packer -var packer_profile="MyNewProfileHere" ...

希望这可以帮助!

关于amazon-web-services - 如何将AWS角色与Packer一起使用以创建AMI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36311048/

10-11 06:37