【发布时间】:2019-02-06 02:27:08
【问题描述】:
我有一个简单的 CloudFormation 堆栈,我想将它部署到我账户中的所有区域,因此我不必手动进入每个区域来部署堆栈,或者创建一个使用 CLI 执行此操作的脚本。
我尝试使用 StackSets 执行此操作:我指出我要部署到的帐户是我自己的帐号。然后我选择了所有区域,并尝试部署。
不幸的是,它不起作用,说:
帐户 1234567867867 应该有 具有信任关系的“AWSCloudFormationStackSetExecutionRole”角色 角色“AWSCloudFormationStackSetAdministrationRole”。
所以我研究了一下,发现了这个关于如何解决这个问题的教程:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html
但是,在完成该过程时,它不允许我执行第二步,即创建一个信任管理员帐户的角色...我猜这是因为管理员帐户是我的帐户,所以建立信任关系不起作用,但我不确定。这是我得到的错误:
AWSCloudFormationStackSetExecutionRole 已存在
那么这甚至可能吗?或者我应该只创建一个脚本,使用 CLI 在我账户中的所有区域部署一个普通的 CloudFormation 堆栈?
【问题讨论】:
-
澄清一下...您是否从要创建堆栈的同一帐户部署堆栈集?也就是说,您上述所有内容中是否只涉及一个 AWS 账户?还是有两个帐户(一个“发件人”和一个“收件人”帐户)?
-
不是答案,但如果您还没有看到 terraform,请看一下。它可能比 Cloudformation 堆栈集更好地满足您的目的。
-
@JohnRotenstein 只有一个帐号(往来和往来都是同一个帐号)
标签: amazon-web-services amazon-cloudformation