用途:检测实际云基础设施状态与 IaC 所定义的期望状态之间的差异,即基础设施漂移。技能会运行漂移检测命令,分析被修改、新增或删除的资源,生成包含受影响资源的漂移报告,并给出将基础设施恢复合规的修复步骤。
前置条件:项目目录中的 IaC 配置文件保持最新;已安装并认证云服务商 CLI,且对所有受管资源有读取权限;已安装 Terraform 1.0+、AWS CLI(用于 CloudFormation 漂移)或 Pulumi;远程状态存储可访问且为最新(如 S3 后端、Terraform Cloud、Pulumi Cloud);对所有 IaC 管理的资源类型具有只读 IAM 权限。
使用方式:先扫描 .tf 文件、template.yaml 或 Pulumi.yaml 识别所用 IaC 工具;必要时执行 terraform init 下载 provider 并配置后端;运行漂移检测,如 terraform plan -detailed-exitcode(退出码 2 表示检测到漂移)、aws cloudformation detect-stack-drift 或 pulumi preview;解析输出,识别新增(云端存在但 IaC 中无)、修改(属性变化)或删除(IaC 中有但云端缺失)的资源;判断漂移是有意的手动热修还是无意的配置错误或未授权变更;生成结构化漂移报告,含资源标识、属性差异与严重性分类;按资源给出修复选项:terraform apply 强制期望状态、terraform import 采纳变更,或更新 IaC 以匹配实际;可配置 cron 或 CI 管道定期检测并告警;追查根因并实施 SCP、IAM 限制等护栏。
输出:资源级漂移报告(资源类型、ID、漂移属性、期望值与实际值)、修复命令、定时自动检测的 CI/CD 步骤、告警配置(Slack、邮件、PagerDuty)及预防建议。
错误处理涵盖状态锁冲突、云认证失败、状态文件缺失、读取资源被拒、状态文件版本不匹配,并给出对应解决方式。
限制:需具备远程状态访问与只读 IAM 权限;检测结果依赖 IaC 配置与状态存储为最新。具体收费、价格与效果资料暂未提供。