terraform最佳实践

可参考terraform文,主要用来操作云平台。并抽提出module的概念。

 

在这个最佳实践中的框架为:

 

terraform下,有两个目录,一个module,一个provider。module下放基本的执行文件,比如main.tf,variable.tf,等等。provider是不同的调用者的存储路径,比如dev和prod和qc和Uat区别开,这个目录下放terraform.tfvars和backend文件,有时候没有backend文件,而是指定一个远程的backend,比如s3的。

 

基本格式如下:

provider "aws" {
  region = "${var.region}"
}

resource "aws_key_pair" "ecs" {
  key_name              = "${var.key_name}"
  public_key            = "${file(var.public_key_path)}"
}

terraform {
  backend "s3" {
    bucket = "remote-state-file"
    encrypt = true
    key    = "xxxxx/terraform.tfstate"
    region = "us-east-1"
  }
}

module "ecs" {
  source                = "../../../modules/aws/xxx/ssss"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章