先导入再对齐
先写资源块,再把云资源导入到该地址的状态。导入只读云并写状态,不改云。跑 plan 并更新 config 直到 diff 为零。
terraform import aws_s3_bucket.logs incident-logs-2026
terraform plan -out=adopt.tfplan
让 config 与云一致
若 plan 有 diff,说明 config 与云不符。用 terraform show 读取已导入状态,更新 config 匹配后再 plan。目标是零 diff,即资源安全纳管。
resource "aws_s3_bucket" "logs" {
bucket = "incident-logs-2026"
}
预期结果
状态文件含该资源,plan 零变更,下次 apply 为空操作。资源现由 Terraform 纳管,未来 plan 不会试图销毁它。导入只读不改云,apply 才改云;provider 无法读取的属性需 -ignore-remote-version,属最后手段。