之前我曾使用过terraform,terraform可以将tfstate文件放在S3中。 terraform是否也支持azure blob存储作为后端?将后端设置为azure blob存储的命令是什么?
答案 0 :(得分:1)
从Terraform 0.7开始(目前尚未发布但您可以从源代码编译)对Azure blob存储的支持为added。
答案 1 :(得分:0)
这个问题要求一些命令,所以我添加了一些细节,以防有人需要。我正在使用Terraform v0.12.24和azurerm提供程序v2.6.0。您需要两件事:
对于第二点,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内置了文件锁定功能,以防任何人尝试同时更新状态文件。