使用尚未由terraform创建的资源时如何使用terraform远程状态

时间:2020-02-08 14:25:12

标签: terraform terraform-provider-azure

我这里有鸡蛋和鸡肉。

我想将terraform状态存储在azure blob存储中,但我想先使用terraform创建密钥库。

如果密钥保管库存储不存在,则无法指定访问密钥。

我曾先使用bash创建密钥保管库,但这并不理想。

有没有解决的办法?

创建后端存储后,可以使用terraform刷新命令吗?

1 个答案:

答案 0 :(得分:0)

我认为这是可能性的问题,而不是鸡肉和鸡蛋的问题。

首先,如果要将状态文件存储在Azure Blob存储中,则需要先创建存储。创建存储时,访问密钥已经存在。

第二,当您将存储的访问密钥存储在密钥库中时,您需要先拥有访问密钥。我认为这是您认为的问题。但是,尽管您将密钥存储在密钥库中,但是在创建Terraform文件之前访问密钥是必需的。您可以在Store Terraform state in Azure Storage中看到这些步骤,无论您是否将访问密钥存储在密钥库中,获取访问密钥都是所有步骤的开始。

所以您认为这是不可能的。如果要使用Azure存储来存储状态,则正确的顺序为:

  1. 创建一个Azure存储帐户和一个容器
  2. 获取访问密钥并将其设置为环境变量
  3. 创建Terraform文件并使用存储帐户存储状态