У меня есть две учетные записи AWS, одна для разработчиков и другая для продуктов.Я пытаюсь создать те же ресурсы в обеих учетных записях, что и VPC, подсеть и т. Д. Из чтения в Google я получил следующую структуру:
|---- README.md
|---- dev_account
|---- main.tf
|---- terraform.tfvars
|---- variables.tf
|---- prod_account
|---- main.tf
|---- terraform.tfvars
|---- variables.tf
|---- modules
|---- provider.tf
|---- vpc.tf
|---- variables.tf
Вот код, который я использую:
modules / provider.tf
provider "aws" {
region = "${var.aws_region}"
}
module / vpc.tf
resource "aws_vpc" "vpc" {
cidr_block = "${var.vpc_cidr_block}"
instance_tenancy = "default"
}
dev_account / main.tf:
module "create_infra" {
source = "../modules"
aws_region = "${var.aws_region}"
vpc_cidr_block = "${var.vpc_cidr_block}"
}
То же, что и выше Iсоздаст больше модулей, таких как подсеть и вызов из файла main.tf
dev_account / variables.tf
variable "aws_region" {}
variable "vpc_cidr_block" {}
dev_account / terraform.tfvars
aws_region = "us-west-1"
vpc_cidr_block = "10.10.10.0/8"
Это правильный подход?Есть ли лучший способ сделать это?Файл main.tf в dev_account не выглядит корректным, так как будет трудно управлять, скажем, 10 или более ресурсов.