Amazon web services 如何使用cloudformation管理不同的环境

Amazon web services 如何使用cloudformation管理不同的环境,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我目前正在使用cloudformation(JSON模板)来管理不同的aws服务。 我使用的Aws服务包括S3、Lambda、API网关、Amplify、Dynamodb、IAM、Cognito。 开发阶段即将结束,现在我正在寻找使用现有cloudformation模板构建UAT环境的方法。 我想到了不同的方法。 1.切换到不同国家后创建云信息栈 但是像S3这样的一些服务是跨国服务。 如果我使用相同的名称创建另一个S3 bucket,则可能无法成功创建该bucket。 2.创建新的IAM用户以创

我目前正在使用cloudformation(JSON模板)来管理不同的aws服务。
我使用的Aws服务包括S3、Lambda、API网关、Amplify、Dynamodb、IAM、Cognito。

开发阶段即将结束,现在我正在寻找使用现有cloudformation模板构建UAT环境的方法。

我想到了不同的方法。

1.切换到不同国家后创建云信息栈

但是像S3这样的一些服务是跨国服务。
如果我使用相同的名称创建另一个S3 bucket,则可能无法成功创建该bucket。

2.创建新的IAM用户以创建云信息堆栈

我目前正在开发阶段使用Root用户帐户进行服务管理(我知道这是一种糟糕的做法)。
我可以创建一个新的IAM用户(例如UAT_Admin)来创建UAT环境。

这些都是我能想到的方法。我需要一种环境管理方法,以便以后创建UAT环境,甚至将来创建生产环境。

有什么意见或建议吗?

为了最大限度地分离不同的开发环境(开发、测试、uat、产品),通常使用不同的帐户。这提供了最大程度的资源分离,而不会有测试人员意外删除/修改生产服务的风险


为了更方便地使用AWS提供的不同帐户以及。StackSets可以让您在不同的帐户中使用相同的模板。

如果我在其他帐户中再次运行create stack,有什么区别?另外,我可以为UAT/生产环境创建IAM帐户吗?@CCCC StackSets是管理不同区域和帐户中的堆栈的中心位置。如果你不愿意,你不必使用它。您可以在AWS组织中创建任意数量的帐户。AWS文档:“请注意,您的模板更新始终影响所有堆栈;您不能有选择地更新堆栈集中某些堆栈的模板,但不能更新其他堆栈的模板。”这意味着如果我打算测试开发环境并更改模板,UAT和生产环境也将发生变化?@CCCC是。如果你想保持它们的独立性,那么你可以像以前写的那样单独做。