Terraform 状态文件锁定 GCP 数据存储和 GCS 后端示例

Alé*_*edo 1 google-cloud-platform terraform

我想知道是否有人可以通过 GCP 中存在的数据存储来处理 GCS 上的 Terraform 锁定状态文件,就像在 AWS 中使用 S3 后端和 DynamoDB 表一样。

如果是这样,请举例说明如何操作。

yda*_*coR 6

使用 GCS 时,您不需要使用任何其他东西来进行状态锁定,因为一致性模型比 S3 更强。

S3 对文件修改具有最终一致性,因此 Terraform 不能依赖它进行锁定,而必须依赖 DynamoDB(它可以具有更强的一致性保证)。GCS 在更新方面具有很强的一致性,因此 Terraform 直接使用它。

要测试这一点,您可以将后端设置为使用 GCS,运行terraform apply但将其保留在批准提示中,然后在另一个终端中terraform plan针对同一状态文件运行。您将看到状态文件被该terraform apply操作锁定。