インフラ構成管理ツールTerraformの構成ファイルをクラウドで管理できる「Terraform Cloud」を使ってみます。アカウント作成からサンプル(AWSのVPCの作成)の実行までやります。
必要なもの
- GithubのAccount
- AWSのAccount
- Terraform CloudのAccount(今回作成)
(これだけ!CLIのインストールなどは不要!)
準備
Account作成
Sign up for Cloud
Username, Email, Password, 同意のチェックを入れて、Create account
Organization作成
Organization name, Email addressを入力して、Create an Organization
tfファイル作成
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"
}
}
Workspace作成
Githubと連携する(ブラウザのポップアップブロックでエラーになる場合は許可する)
今回は特定のリポジトリのみ対象とするため、Only select repositoriesを選択して、Install
ちなみに、ここでInstallしたものは、GithubのSettingsのApplicationsに追加されています
tfファイルをリポジトリの直下に置いていないため、Terraform Working Directoryに、tfファイルが置いてあるディレクトリの相対パスを入力し、Create Workspace(私の場合はIaC-provisioning-recipe/terraform/aws/sandbox/main.tf
)
変数の設定
AWS Credential情報(aws_access_key,baws_secret_key)を入力して、Save variable
実行
Queue plan
Confirm & Apply(コメントが入力できる)
これでVPCが作成されていると思います
感想
- tf.stateの管理が楽になった(S3に上げなくていい)
- AWS Credentialの設定をGithubに上げてなくていい
- 今回はやってませんが、MasterへのMergeをトリガーにConfirm&Applyする機能もあり
などなど!かなり便利になっております!おすすめです