main.tf に Terraform Cloud の組織とワークスペースを設定
下記の organization と workspaces は自分の環境にあわせて入力する。
$ terraform version
Terraform v1.3.9
on darwin_arm64
$ cat <<EOF > main.tf
terraform {
cloud {
organization = "minrst"
workspaces {
name = "mnrsdev"
}
}
}
EOF
$ terraform login
下記が表示されたらブラウザ上で作成したトークンを入力する。
Token for app.terraform.io:
Enter a value:
terraform コマンドを実行して問題ない事を確認する。
$ terraform init
$ terraform apply
Terraform Cloud の Workspace 設定で実行モードをローカルに変更
下記の設定で tfstate の管理のみを Terraform Cloud に任せ、AWS のキーやシークレットを Terraform Cloud に登録しなくても実行できるようになる。

main.tf に AWS VPC を加える
terraform {
cloud {
organization = "minrst"
workspaces {
name = "mnrsdev"
}
}
}
provider "aws" {
region = "ap-northeast-1"
}
resource "aws_vpc" "vpc-dev-001" {
assign_generated_ipv6_cidr_block = "false"
cidr_block = "10.0.0.0/16"
enable_dns_hostnames = "true"
enable_dns_support = "true"
instance_tenancy = "default"
tags = {
"Name" = "vpc-dev-001"
}
}
terraform コマンドを実行し AWS VPC を作成
$ terraform init
$ terraform plan
$ terraform fmt
$ terraform validate
$ terraform apply -auto-approve
terraform.tfstate がカレントディレクトリに無い事を確認
$ ls
main.tf
参考
https://developer.hashicorp.com/terraform/tutorials/aws-get-started/aws-remote
タグ: AWS, Terraform