我目前正在通过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/