"backend"就是Terraform決定狀態檔(state)如何載入及運作。這個抽象化機制。讓狀態檔可以存放在「遠端」(及遠端操作等)。
其實,Terraform預設本來就是"本地端"backend。示意圖如下:
接下來我們就根據上面的圖,來「完成」backend的設定
AWS設定:
建立S3 bucket
Terraform可以支援多種Backend Types(Standard | Enhanced),小編當然是用S3(Standard )。
登入你的AWS帳號後 >> 點上方的「Services」 >> 搜尋S3 >> 前往S3 Console >> Create Bucket
輸入BucketName
輸入Region
剩下都選「下一步」即可。
設定S3權限to IAM User

請參考官網給的權限



設定backend Config
這邊S3 region就是上面在建S3 Bucket時下拉選單的「Asia Pacific (Tokyo)」 >> region = "ap-northeast-1",
可參考AWS文件 > Available Regions
  provider "aws" {
    region     = "ap-northeast-1"
  }
  terraform {
    backend "s3" {
      bucket = "bright-terraform-backend"
      key    = "terraform.tfstate"
      region = "ap-northeast-1"
    }
  }
  resource "aws_instance" "example" {
    ami           = "ami-0689a2637ab83e607"
    instance_type = "t2.micro"
  }
執行初始化:terraform init
什麼時候需要執行Backend初始化
PS:各位邦友可以看一下工作目錄下的terraform.tfstate內容會被清空,會移轉到S3 bucket中。
這時候就大公告成了…
待續…