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とGithubを連携させて使う

0
Last updated at Posted at 2026-01-21

はじめに

最近HCP Terraformの検証を行う機会があり、とりあえず基本機能のHCP TerraformとGithubの連携を行ったので、今更ながらではありますがその紹介をしようと思います。

連携方法

まずはWorkSpaceを設定します。
WorkSpaceを作る段階で、Create a new Workspaceの設定をするところがあります。ここで、Version Control Workflowを選択します。
すると、デフォルトでGitHub Appの項目があるので、それを選びます。
その後、Organizationでユーザー、RepositoryでHCP Terraformで操作を行うリポジトリを選びます。
最後に、WorkSpace名を入力した後にCreateを押下してWorkSpaceを作成します。

実際の動作

以下のEC2インスタンスを作成するTerraformコードをGithubに上げてみます。

data "aws_ami" "this" {
  most_recent = true
  owners      = ["amazon"]
  filter {
    name = "name"

    values = ["al2023-ami-*-kernel-6.1-x86_64"] # x86_64
  }
}

resource "aws_instance" "this" {
  ami                    = data.aws_ami.this.id
  instance_type          = "t2.medium"
  subnet_id              = "subnet-0475efaaaaaaaaa"
  vpc_security_group_ids = ["sg-0dba481aaaaaaaa"]

  tags = {
    Name = "kato-terraformcloud-test-${var.pj}"
    Owner = "kato"
    env = var.pj
    terraform_remote_state_test = var.terraform_remote_state_test
  }
}

今回はタグにOwner katoを追加する差分を加えていきます。

pushしたことをトリガーとして、以下のようにterraform planがまずは走ります。
image.png

その後、その変更をGitHubにてマージします。

image.png

すると、HCP Terraformでマージの確認画面が表示されます。このConfirm & applyを押下すると、実際にterraform applyコマンドが実行されます。

image.png

以下のように、インスタンスを作り直したことがわかります。

image.png

使ってみての感想

planやapplyのタイミングをこちらで好きにできるので、使い勝手は良さそうだと思いました。
ただ、GitHubもプライベートリポジトリが設定できるとは言え、ウェブ上にコードを上げるのは少し不安です・・・。
セルフホストのGitLabや、コードを暗号化しての運用ができるかなどをこれから試してみようと思います。

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?