0

我以前使用过 terraform,其中 terraform 可以将 tfstate 文件放在 S3 中。terraform 是否也支持 azure blob 存储作为后端?将后端设置为 azure blob 存储的命令是什么?

4

2 回答 2

1

Terraform 0.7(当前未发布,但您可以从源代码编译)已添加对 Azure blob 存储的支持。

于 2016-07-21T07:15:54.973 回答
0

这个问题要求一些命令,所以我添加了更多细节以防万一有人需要它。我正在使用 Terraform v0.12.24 和 azurerm 提供程序 v2.6.0。你需要两件事:

  1. 创建一个存储帐户(通用 v2)和一个用于存储您的状态的容器。
  2. 配置你的环境和你的 main.tf

至于第二点,您在 main.tf 中的 terraform 块应该包含一个“azurerm”后端:

terraform {
  required_version = "=0.12.24"
  backend "azurerm" {
    storage_account_name = "abcd1234"
    container_name       = "tfstatecontainer"
    key                  = "example.prod.terraform.tfstate"
}

provider "azurerm" {
  version = "=2.6.0"
  features {}
  subscription_id = var.subscription_id
}

在调用计划或应用之前,使用 bash 导出初始化 ARM_ACCESS_KEY 变量:

export ARM_ACCESS_KEY=<storage access key>

最后,运行 init 命令:

terraform init

现在,如果您运行 terraform plan,您将看到在容器中创建的 tfstate。Azure 内置了文件锁定功能,以防有人同时尝试更新状态文件。

于 2020-05-05T10:12:45.520 回答