小编San*_*rma的帖子

如何创建支持多个AWS区域的提供模块?

我们正在尝试为AWS中的以下活动创建Terraform模块,以便我们可以在需要的地方使用它们.

  1. VPC创建
  2. 子网创建
  3. 实例创建等

但是在创建这些模块时,我们必须在上面列出的所有模块中定义提供者.所以我们决定为提供者创建一个模块,以便我们可以在其他模块(VPC,Subnet等)中调用该提供者模块.

上述方法的问题在于它没有采用提供者值,并要求用户输入区域.

Terraform配置如下:

$ HOME /模块/供应商/ main.tf

provider "aws" {
  region = "${var.region}"
}
Run Code Online (Sandbox Code Playgroud)

$ HOME /模块/供应商/ variables.tf

variable "region" {}
Run Code Online (Sandbox Code Playgroud)

$ HOME /模块/ VPC/main.tf

module "provider" {
  source = "../../modules/providers"
  region = "${var.region}"
}

resource "aws_vpc" "vpc" {
  cidr_block = "${var.vpc_cidr}"
  tags = {
    "name" = "${var.environment}_McD_VPC"
  }
}
Run Code Online (Sandbox Code Playgroud)

$ HOME /模块/ VPC/variables.tf

variable "vpc_cidr" {}
variable "environment" {}
variable "region" {}
Run Code Online (Sandbox Code Playgroud)

$ HOME/main.tf

module "dev_vpc" {
  source = "modules/vpc"
  vpc_cidr = "${var.vpc_cidr}"
  environment = …
Run Code Online (Sandbox Code Playgroud)

terraform

8
推荐指数
1
解决办法
2157
查看次数

标签 统计

terraform ×1