Google cloud platform 有没有一种使用Terraform发现VM的方法?

Google cloud platform 有没有一种使用Terraform发现VM的方法?,google-cloud-platform,terraform,infrastructure,Google Cloud Platform,Terraform,Infrastructure,基础架构团队成员正在使用控制台创建、删除和修改GCP项目中的资源。安全小组希望扫描infra并检查是否采取了适当的安全措施 我正在尝试创建一个地形脚本,它将: 1.将项目ID作为输入,列出给定项目的所有实例。 2.循环所有实例并检查安全控制是否到位。 3.如果缺少任何安全控制,terraform脚本将修改资源(VM) 对于项目中可用的所有资源,如子网、云存储桶、防火墙等,我必须重复相同的步骤 根据我的初步调查,要完成这项任务,我们必须使用“terraform import”命令将资源导入terr

基础架构团队成员正在使用控制台创建、删除和修改GCP项目中的资源。安全小组希望扫描infra并检查是否采取了适当的安全措施 我正在尝试创建一个地形脚本,它将: 1.将项目ID作为输入,列出给定项目的所有实例。 2.循环所有实例并检查安全控制是否到位。 3.如果缺少任何安全控制,terraform脚本将修改资源(VM)

对于项目中可用的所有资源,如子网、云存储桶、防火墙等,我必须重复相同的步骤

根据我的初步调查,要完成这项任务,我们必须使用“terraform import”命令将资源导入terraform,然后再考虑循环

现在看来,使用GCP的API最适合这项任务,因为terraform似乎不是这类任务的好选择,我不确定使用teffarform是否可以实现

有人能在这里提供一些指导吗?

很好奇,如果“控制台”是指gcp控制台(也称为手动),因为如果您还没有使用terraform来创建资源(并且不打算在将来使用),那么terraform就不是您所描述的正确工具。事实上,我认为这增加了复杂性

主要原因是:

  • 导入特性不适用于这种用例,我们仍然发现它经常出现问题。对于一些资源来说可能是一次,但对于整个环境来说不是,而且如果它没有成为未来真相的来源。像这样的项目尽了最大努力,但在复杂的环境中仍然面临着西部大开发的问题。并非所有资源都支持导入
  • Terraform不会告诉您任何您在GCP cli中不知道的关于VM的信息。如果您需要更多信息来评估控制措施,则需要使用其他工具或使用一些复杂的供应器。供应器充其量只能作为您可能直接使用的其他工具的包装器 老实说,我担心你的团队正在试图避免将旧的实践转换为IaC的痛苦。这很不舒服,也很有挑战性,但从长远来看,它会比你描述的道路结出更好的果实

    离题了,如果你已经通过terraform创建了infra,那么我会在其他一些实践中投入更多的时间来实现同样的结果。其他一些选项是:1)通过安全性“受祝福”的父模块实施最佳实践,2)在您的terraform上实施一些CI,3)AWS有配置和系统管理器,不确定GCP是否有等效的,但我会四处看看。另外,对于不同的抽象层使用不同的技术也是值得评估的。检查操作系统的内容可能与检查安全组的内容不同,这没关系。了解是成功的一半,可能会使第一个版本更理智,然后自动修复


    无论是否使用terraform,都有一个由产品和开源项目组成的生态系统,可以帮助法规遵从性或控制执行。看看工具,比如,或是为了获得灵感

    你为什么特别想用Terraform来做这个?如果Terraform用于这些资源的初始创建,并且其他地方的状态文件中也使用了Terraform,那么将它们导入另一个状态文件将给您带来很多问题。@ydaetskcoR Technical Architect已决定使用Terraform。Terraform不用于创建这些资源。我是地形的初学者,不知道它的能力。在这里寻找专家建议。这是可行的,但不是它的设计目的,你将花费太多的时间试图解决问题。我不是一个GCP的人,但是这种事情通常会在AWS中通过AWS配置来完成。根据您想做什么,您可能会更好地使用GCP的安全指挥中心产品。