Azure Terraform(四)状态文件存储

  我们都知道在执行部署计划之后,当前目录中就产生了名叫 “” 的 Terraform 的状态文件,该文件中记录了已部署资源的状态。默认情况下,在执行部署计划后,Terraform 的状态文件会存储在本地,但是这样往往就造成一些弊端:

(1)不适用团队之间协助,就好比在数据库中对同一条数据进行操作时,就会引起异常

(2)状态文件中包含一些机密信息,会造成一定的机密泄露

(3)如果不慎将本地的状态文件删除掉的话,已执行部署计划的资源的管理将很难在通过 Terraform 进行管理

所以,Terraform 是支持在远端存储状态文件,也就是在 Azure Storage Account 中存储远端状态文件,Terraform 状态的存储是由一个称之为Backend的组件决定的,local state使用的是local backend。并且其他所有的Backend在使用之前都需要在模板中显式定义并通过 terraform init 来实现加载和配置。

二,正文 1,创建状态文件存储账户

转到Azure Portal 上,点击 “+ Create a resource”,输入 “Storage account“ 进行搜索,并且点击 ”create“

Azure Terraform(四)状态文件存储

输入以下参数:

Resource group 选择:”Web_Test_TF_RG“

Storage account name:”cnbateterraformstorage“

Location:”(Asia Pacific) East Asia“

Performance:”Standard“

Account kind (账户类型)选择:”BlobStorage“

Replication (复制)选择:”Locally-redundant storage(LRS)“ (本地冗余存储(LRS))

点击 ”Review + create“ 进行创建预校验

Azure Terraform(四)状态文件存储

校验完成后,点击 ”Create“ 进行创建操作

Azure Terraform(四)状态文件存储

稍等片刻,等待创建完成后,点击 ”go to resource“ 跳转到资源可以查看创建的资源。

Azure Terraform(四)状态文件存储

选择 “Blog service =》Containers”,点击页面上的 “+ Container” 添加存储状态文件的 Container

Azure Terraform(四)状态文件存储

Name:"terraform-state"

Public access level:“Private(no anonymous access)”

点击 “Create” 进行创建。

Azure Terraform(四)状态文件存储

可以看到刚刚创建容器

Azure Terraform(四)状态文件存储

复制存储账户的访问密钥,稍后会有用

Azure Terraform(四)状态文件存储

2,创建 Azure Key Vault(密钥保管库)

回到 Azure Portal 首页,点击 ”+ create a resource“,输入”Key Vault“ 进行搜索,点击 ”Create“ 创建

Azure Terraform(四)状态文件存储

输入相关参数:

Resource group 选择:”Web_Test_TF_RG“

Key vault name:”cnbate-terraform-kv“

Region:”East Asia“

Pricing tier:”Standard“

点击 ”Review + create“ ,创建预校验。

Azure Terraform(四)状态文件存储

预校验完成后,点击 ”Create“ 进行创建操作

Azure Terraform(四)状态文件存储

创建完成后,可以点击 ”Go to resource“ 查看创建好的资源

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgxyp.html