使用 Terraform Cloud 在目录中创建一个工作区

首先

Terraform Cloud是最強大的工具,可以在Terraform Cloud上管理State文件。

请根据下面的文章参考强项和基本用法。

    • Terraform Cloud、個人で使ってもめちゃくちゃ便利

 

    5人まで無料! Terraform Cloudを使ってみた

這個問題

在Terraform中,有时需要在一个仓库中管理多个状态,这些状态称为工作区。

.
└── services
    ├── common # workspace ここで一つのtfstateを管理する
    │   └── main.tf
    ├── prod # workspace ここで一つのtfstateを管理する
    │   └── main.tf
    ├── stage # workspace ここで一つのtfstateを管理する
    │   └── main.tf
    └── test # workspace ここで一つのtfstateを管理する
        └── main.tf

例如,您可以在common文件中放置与网络相关的通用配置管理,然后首先执行terraform apply命令,这样可以避免每次改变代码都需要重新执行apply操作。

在Terraform Cloud中,您还可以轻松地进行该配置。

image.png

在创建 Workspace 时,只需将路径从存储库根目录指定到 Terraform 工作目录即可。

此外,Terraform Cloud可以与CI进行集成,而且可以将其触发器限制在仅仅是仓库变更,而非路径以下的变更上。(自动运行触发)

image.png

只需指定名称,就可以轻松地从另一个工作区的状态文件中提取数据。

data "terraform_remote_state" "foo" {
  backend = "remote"

  config = {
    organization = "hikimochi"

    workspaces = {
      name = "hikimochi-terraform-other-workspace"
    }
  }
}

此外,在Terraform Cloud上进行管理时,即使没有指定backend,状态文件也会自动保存在该工作区上。(如果有不正确之处,请指出)

好酷啊。

最后

我发现之前在22号头疼写的东西一点点赞都没有,所以我又写了一篇。

bannerAds