0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HCP Terraform に key-value 形式のタグ機能が追加!Workspace や Project での管理が便利に

Posted at

はじめに

HCP Terraform の Workspace にはタグを設定できますが、従来はシンプルな文字列だけでした。
しかし、いつの間にか Workspace に key-value 形式のタグが設定できるようになっていました。

image.png

Workspace の key-value 形式でのタグ付けについて調べてみると、下記のブログで案内されていました。

ドキュメントを辿ると、予約済みのタグキーも定義できるようです。
いくつか調査したメモを記載します。

予約済みのタグキーの定義

Organization 設定に Tags という項目が出現していました。
試しに Reserved Key に env というタグを定義してみました。

image.png

この状態で Workspace のタグ設定を開くと、下記のように key の候補として追加したタグが表示されました。

image.png

また、Workspace の新規作成時にも候補が表示されました。

image.png

UI 上から Workspace を作成、更新する際に必要なタグを設定し忘れないようにする際に有効そうです。

2025/02/26 時点では beta 版の機能である旨が記載されているので、使用する際は最新のドキュメントを確認してください

https://developer.hashicorp.com/terraform/cloud-docs/users-teams-organizations/organizations/manage-reserved-tags

Workspace に key-value 形式のタグ付けをする方法

2025/02/26 現在は UI 操作と API からの操作がサポートされているようです。

API は下記の Add/update tag-bindings on a workspace を使用することになります。

terraform での設定について、2025/02/26 現在の最新の tfe provider v0.64.0 では未対応ですが、下記 PR で対応が進んでいるように見えます。

現在シンプルな文字列でのタグ設定に使用できる tag_names の指定は非推奨になるかもしれませんね。

terraform block の cloud block で key-value 形式のタグ指定で接続する方法

に記載されているように、terraform 1.10 以降を使用すると key-value 形式のタグ指定で接続できます。

terraform {
  cloud {
    organization = "example_corp"
    workspaces {
      tags = {
        layer = "app"
      }
    }
  }
}

Project へのタグ付け

ブログ記事の案内に記載されている通り、Workspace だけでなく Project にもタグ付けできることを確認しました。
こちらも予約済みのタグキーを候補として出してくれますね。

image.png

2025/02/26 時点では beta 版の機能である旨が記載されているので、使用する際は最新のドキュメントを確認してください

https://developer.hashicorp.com/terraform/cloud-docs/projects/manage#define-project-tags

まとめ

HCP Terraform Workspace や Project に追加された key-value 形式のタグ機能について紹介しました。
主なポイントは以下の通りです:

  • HCP Terraform Workspace と Project で key-value 形式のタグが使用できるようになりました(Project のタグ定義は、2025/02/26 時点ではベータ機能)
  • Organization 設定から予約済みのタグキーを定義でき、Workspace 作成・編集時に入力候補として表示されます(2025/02/26 時点ではベータ機能)
  • key-value 形式のタグは、現在は UI 操作と API 経由での設定が可能ですが、tfe provider での対応は進行中です
  • terraform 1.10 以降では、terraform block の cloud block で key-value 形式のタグを指定して Workspace に接続できます

この機能により、Workspace の管理がより柔軟になり、組織的なタグ付け規則の実装や環境の識別がしやすくなります。
ベータ版の機能のため今後変更される可能性もありますが、大規模な環境管理において有用な仕組みとなるでしょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?