Terraform的设置(Cloud9)

Terraform的安装和版本确认

image.png

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

image.png

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

<步骤>

1.创建 S3 存储桶。
2.创建并实现 main.tf 文件。
3.执行 terraform 命令(即上传 tfstate 文件)。

创建S3存储桶

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

<步骤>

选择策略类型:S3存储桶策略(固定)
校长:我的IAM用户的ARN
Actions:将所有操作勾选上。

※原本應該限制允許的行動,但應該勾選所有行動。

④亚马逊资源名称 (ARN):已创建的 S3 存储桶的 ARN。

※ARN指的是AWS资源的唯一标识名称。详细信息请参考以下内容。

校长

image.png
image.png
image.png

④ 亚马逊资源名称 (ARN)

image.png
image.png

创建和实现main.tf文件

image.png
image.png
$ mkdir terraform
$ cd terraform
$ touch main.tf
image.png
# ----------------------------------
# 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主题的综述介绍。

广告
将在 10 秒后关闭
bannerAds