我有多账户AWS环境(使用AWS Landing Zone设置),我需要将特定的安全组复制到所有账户。我确实写过CFT,但是要一步一步地完成这项工作是一项重复性工作。
安全组位于中央(共享服务)帐户中,该帐户有权访问所有其他帐户。最好有一种方法可以将其集成到自动售货机(AVM)中,以避免将来将SG导出到新生成的帐户中的任务。
答案 0 :(得分:1)
您应该使用CloudFormation堆栈集。 StackSets是cloudformation的一项功能,其中您具有一个用于创建/更新/删除堆栈集的主帐户,并且具有子帐户。在堆栈集中,您配置要部署CF模板和区域的子级AWS帐户。
根据您的评论,您的主帐户将成为共享服务,其余帐户为子帐户。您将需要部署几个IAM角色以允许跨帐户访问,但是此后,您将能够自动将所有模板部署到最多500个AWS帐户中,并进行更新。
此处有更多信息:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html
答案 1 :(得分:0)
您可以使用CloudFormer导出具有CloudFormation的安全组和其他配置,这将从现有帐户配置中创建模板。查看本指南中的步骤https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cloudformer.html,它将在S3上载模板,您可以重复使用它或其中的某些部分。
答案 2 :(得分:0)
由于使用的是AWS Landing Zone,因此可以将安全组作为新模板添加到aws_baseline
模板中,也可以添加到现有文件之一中。提交后,AWS Landing Zone将使用“步骤功能”和“ AWS Stack Set”将SG部署到所有现有和将来的帐户。如果选择在新文件中创建安全组,则必须在manifest.yaml
文件中添加对该安全组的引用(与其他模板的引用方式比较)。
答案 3 :(得分:0)
我能够通过自动售货机进行此操作。但是AGL的Stacksets也应该是一个很好的选择。