LoginSignup
5
2

More than 1 year has passed since last update.

Terraform Cloudの使い方

Last updated at Posted at 2023-04-17

Terraform Cloud導入してみたので使い方のご紹介です。

構成図

GitHubと連携できるので以下のような構成で試しました。プルリクでplan、masterへのmergeでapplyという動作です。GitHubとTerraform Cloudは親和性が高いのでこの環境を簡単に構築することができました。
スクリーンショット 2023-04-14 9.09.40.jpg

1.Workspaceの作成

①Coose Type:Version control workflowを選択
②Connect to VCS:GitHubと連携
③Coose a repository:リポジトリの選択(先にGitHubで作っておきましょう)
④Configure settings:Workspace等の入力
スクリーンショット 2023-04-18 6.04.18.jpg

2.Variablesの設定

AWSのクレデンシャルを埋め込みます。クレデンシャルなので取扱注意しましょう。私は私用のアカウントで2要素認証にしてからやりました。Variablesから画像の赤枠にアクセスキーとシークレットキーを入力します。
スクリーンショット 2023-04-18 6.16.06.jpg

3.自動applyの設定

冒頭で記述したプルリクでplan、mergeでapplyが動くように設定します。General SettignsからAuto applyを選択します。
スクリーンショット 2023-04-18 6.18.18.jpg

4.プルリクとmergeしてみる

AWS上にtest-vpcを作成します。

variable "aws_access_key" {}
variable "aws_secret_key" {}

provider "aws" {
  access_key = var.aws_access_key
  secret_key = var.aws_secret_key
  region = "ap-northeast-1"
}

resource "aws_vpc" "test-vpc" {
  cidr_block = "10.0.0.0/16"
  tags = {
    Name = "test-vpc"
  }
}

※コードは下記記事より拝借しております
https://qiita.com/boccham/items/190f04bfbc9ffc0b5baf

①プルリクでplan
スクリーンショット 2023-04-18 6.35.35.jpg
スクリーンショット 2023-04-18 6.35.46.jpg

②mergeでapply
スクリーンショット 2023-04-18 6.38.32.jpg

スクリーンショット 2023-04-18 6.42.08.jpg

AWS上で生成確認
スクリーンショット 2023-04-18 6.44.09.jpg

以上です。削除もDestruction and Deletionからさくっとできます。もちろんstateもTerraform Cloud上で管理されます。Terraform CloudはTerraform界にも浸透しつつあるようなので、今後のスタンダードになっていきそうですね。

※参考記事
https://dev.classmethod.jp/articles/terraform-cloud/
https://qiita.com/boccham/items/190f04bfbc9ffc0b5baf
https://zenn.dev/isosa/articles/ca44f2efbfe36b

5
2
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
5
2