漂移检测提供对基础架构状态的持续检查,以便在发生更改时检测并通知。

这个新特性将继续发展HashiCorp Terraform的功能,为操作员提供对其多云基础设施状态的持续可见性。漂移检测是继Terraform 1.2和Terraform Run Tasks之后发布的,这两个附加功能可以提高效率,同时降低与安全性、遵从性和操作一致性相关的风险。新功能扩展了Terraform对云基础设施“第2天”操作的支持。

随着组织迁移到云,他们需要基础设施自动化来有效地提供和管理他们的云资源。通常,这包括三个不同的阶段:采用和建立供应工作流、标准化工作流、跨多云环境和私有数据中心进行大规模操作和优化。作为代码的基础设施——以及适当的护栏——对这个过程至关重要。Terraform帮助组织实现基础设施自动化,并提供了跨上述所有三个阶段的功能。

依赖标准化的供应工作流需要您的团队对基础设施的记录状态有信心。挑战在于,一旦基础设施准备就绪,您如何确保基础设施的实际状态反映已知和记录的基础设施状态?尽管每个人都尽了最大的努力,但多个准备工作流程、开发人员和基础设施访问点意味着基础设施将经常更改和更新,使基础设施状态的更改与代码中定义的状态不匹配—这种现象称为配置漂移。

漂移会在几个方面造成问题。例如,开发团队不知道生产环境的更改可能会看到应用程序突然崩溃和部署项目意外失败,因为他们无法通过查看基础架构代码看到实际做出的所有更改。如果没有一个单一的、共享的真相来源,为补救事故而故意进行的基础设施更改可能会被恢复,或者暂时的更改被忽视,由于未使用的资源,每月浪费数千美元的成本。漂移还可能导致严重的安全问题,因为关键任务系统可能在不知情的情况下向公众开放,未知资源可能不受保护。

但是手动跟踪基础设施更改,然后恢复以纠正状态或更新配置以匹配当前的基础设施是非常耗时的,而且不可能扩展。如果基础设施发生变化,必须检测到变化,并发送通知或警报,以便操作人员纠正偏差。

为了解决这个问题,Terraform的漂移检测提供了内置的针对基础设施状态的连续检查,以检测变化并提供警报。这允许Terraform为您的所有基础设施提供一个可见的中央窗格,并让操作人员相信它与最近已知的Terraform状态相匹配。

Terraform漂移检测可以先发制人地检测资源是否与状态文件中反映的资源发生了变化。工作空间视图在工作空间索引列表中包括一个新的Drift指定,以及一个针对Drift的过滤器。

为基础架构管理添加漂移检测

启用漂移检测的每个工作区都将漂移的当前状态显示为顶级项,同时显示terrform版本、资源计数和上次更新的时间。

工作区还有一个新的漂移标签。标签本身突出显示当前处于漂移状态的资源数量。点击进入标签提供额外的信息;如果基础设施发生变化,运营商需要尽快得到通知。使用Terraform Cloud的漂移检测,你可以创建可定制的通知,以确保正确的人被提醒使用你喜欢的通信方法。