📜  terraform 三元 (1)

📅  最后修改于: 2023-12-03 15:05:34.280000             🧑  作者: Mango

Terraform三元

Terraform三元素是指Terraform编排脚本中的三要素: Provider、Resource以及Module。这三个元素共同构成了Terraform脚本的核心。

Provider

Provider是Terraform脚本的基础元素之一,提供了与底层云服务提供商(如AWS、Azure、GCP等)通信的必要接口。Provider不仅提供了云服务的相关API,还提供了与云服务平台对接的必要认证及授权方式,让Terraform能顺利管理云服务资源。

例如,在AWS上使用Terraform编排创建EC2实例时,可以使用AWS provider,如下所示:

provider "aws" {
  region = "us-west-2"
}
Resource

Resource是Terraform编排脚本中的基本建模单元,描述了用户所需要的资源及相关参数。进行Terraform资源管理时,Terraform将会搜寻对应的Provider、Resource并创建相关的资源。

例如,在AWS上创建EC2实例时,可以使用aws_instance resource,如下所示:

resource "aws_instance" "web" {
  ami           = "ami-0c94855ba95c71c99"
  instance_type = "t2.micro"

  tags = {
    Name = "terraform-example"
  }
}
Module

Module是Terraform脚本可复用组成部分,可以使用类似于函数的方式来调用。可以将Terraform代码模块化,并定义输入变量(Variables)和输出值(Outputs)等,可提高代码的易读性、可移植性及重用性。

例如,在Terraform中定义一个module时,可以包含其中的provider和resource,同时可以定义其输入变量和输出值,如下所示:

module "webserver" {
  source = "./modules/webserver"

  my_variable = "This is a variable from the root module."
}

以上就是Terraform编排脚本中的三要素,分别是Provider、Resource以及Module。它们共同构成了Terraform脚本的基础框架,大大简化了云资源管理任务,提高了开发的效率。