Terraform的设置(Cloud9)
Terraform的安装和版本确认

管理terraform.tfstate文件(资源管理文件)

执行terraform命令时会自动创建本地环境(Cloud9环境)。
如果在团队中进行开发,预计会发生冲突问题,因此将其存储在云端(例如AWS的S3)中,可以避免冲突,并可以在团队间同时进行基础架构构建。
此外,由于本地可能会出现丢失或损坏的情况,因此最好将其存储在云端。
在这里,我们介绍将terraform.tfstate文件存储在S3存储桶中的方法。
之后,执行terraform命令后,云环境上的tfstate文件将自动更新。
<步骤>
1.创建 S3 存储桶。
2.创建并实现 main.tf 文件。
3.执行 terraform 命令(即上传 tfstate 文件)。
创建S3存储桶













<步骤>
选择策略类型:S3存储桶策略(固定)
校长:我的IAM用户的ARN
Actions:将所有操作勾选上。
※原本應該限制允許的行動,但應該勾選所有行動。
④亚马逊资源名称 (ARN):已创建的 S3 存储桶的 ARN。
※ARN指的是AWS资源的唯一标识名称。详细信息请参考以下内容。
校长



④ 亚马逊资源名称 (ARN)


创建和实现main.tf文件


$ mkdir terraform
$ cd terraform
$ touch main.tf

# ----------------------------------
# Terraform versions
# ----------------------------------
terraform {
required_version = ">=1.1"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~>3.0"
}
}
backend "s3" {
bucket = "terraform-prd-tfstate-327495"
key = "terraform.tfstate"
region = "ap-northeast-1"
profile = "terraform"
}
}
# ----------------------------------
# Provider
# ----------------------------------
provider "aws" {
profile = "terraform"
region = var.region
access_key = var.access_key
secret_key = var.secret_key
}
$ touch terraform.tfvars
# terraform.tfvarsを編集
access_key = "自分のアクセスキー"
secret_key = "自分のシークレットキー"
region = "ap-northeast-1"
project = "terraform"
enviroment = "dev"
※注意:为了防止访问密钥和秘密密钥泄露,请绝对不要将tfvars文件放在第三方可知的地方。
执行Terraform命令(即上传tfstate文件)。
$ terraform init
# 環境の初期化
$ terraform plan
# 変更内容が表示されるため、確認する。
$ terraform apply
# 変更予定内容を反映し、インフラ環境を構築する。
目录页
以下是关于Terraform主题的综述介绍。