Amazon web services 获取地形代码和AWS/Cloud之间的差异

Amazon web services 获取地形代码和AWS/Cloud之间的差异,amazon-web-services,terraform,Amazon Web Services,Terraform,出于质量原因,我想比较AWS服务和地形代码。 所以我有一个AWS环境和一些相应的地形代码。目前还不清楚通过代码部署和配置了什么,通过控制台或两者的组合部署和配置了什么 我想要的是一个类似于资源列表的东西,它不是由Terraform创建的,配置也是如此 有没有一种直接使用Terraform(我没有找到)的方法,或者有其他自动解决方案 如果是在大约一年前发现的: 但它也总结了我的问题,只有一个高强度的解决方案 实现这一点的最佳方法是确保所有地形堆栈都将类似于ManagedByTerraform的标

出于质量原因,我想比较AWS服务和地形代码。 所以我有一个AWS环境和一些相应的地形代码。目前还不清楚通过代码部署和配置了什么,通过控制台或两者的组合部署和配置了什么

我想要的是一个类似于资源列表的东西,它不是由Terraform创建的,配置也是如此

有没有一种直接使用Terraform(我没有找到)的方法,或者有其他自动解决方案

如果是在大约一年前发现的:

但它也总结了我的问题,只有一个高强度的解决方案


实现这一点的最佳方法是确保所有地形堆栈都将类似于
ManagedByTerraform
的标记应用于所有可标记资源。然后,您可以提取未使用该标记标记的所有资源的报告。几乎可以肯定,任何没有该标记的可标记资源都不是由terraform制造的。除非您在允许用户通过控制台或其他方式删除此类标记的权限方面存在问题

这里唯一的缺点是不是所有的东西都可以标记。如果您注意AWS发行说明,您会注意到一种趋势,即对所有资源进行标记的力度越来越大。所以情况越来越好了

如果您采用这种方法,我建议您也使用其他标记来帮助您了解git repo/module/etc也负责创建资源

如果您想要强制所有可标记资源都被标记,您可以将策略作为代码进行研究。Open Policy Agent允许您针对地形规划运行规则。还有哈希科普斯哨兵


有一个概念。转换可以用一个函数更改所有资源,您可以用一小行代码在整个堆栈上注册转换。这比策略实施更好,因为它只是更新您的资源以使其符合要求,而不仅仅是提醒您这些资源不符合要求。换句话说,一致地标记所有资源非常简单。

你好,杰夫,非常感谢你的有用想法!再加上一个只允许使用API而不允许通过控制台编写的用户,这应该会带来一些良好的Terraform实施,因此不必担心一些差异。还有一个需要解决的问题是,在一些地形和AWS环境中,不清楚使用地形做了什么,以及通过控制台做了什么。。。我将更新我的问题以使其更清晰。