Terraform TFVAR文件来管理AWS环境

问题描述

我有一个项目,它使用terraform在AWS中配置基础架构。我们有不同的环境dev,stg,prod,我们通过特定于环境的.tfvars部署到每个环境的方式。这是我们的结构

infra-project
    |_____Module1
    |        Main.tf
             Variables.tf
             output.tf
             Environments
               | 
               | _____ dev
                        |_____ terraform.tfvars
               | 
               | _____ stg
                        |_____ terraform.tfvars

               | 
               | _____ prod
                        |_____ terraform.tfvars

开发中terraform.tfvars文件的示例内容

region = "us-west-2"
ami_id = "ami-0234er2455665"
subnet_id = "subnet-345rf789d"
instanceType = "t2.micro"
pvtIP= "10.12.0.0/16"

环境将不断发展,不希望每次都创建特定于环境的terraform.tfvars。有没有一种方法可以自动为每个环境生成tfvar,以便可以将其部署到n个环境中,而无需每次都更改项目结构?

解决方法

我认为您确实需要每次创建特定于环境的文件。他们需要在某个地方声明。无论如何,如果没有基本声明,它们实际上是不会自动生成的。

我将删除Environment文件夹,并为每种环境使用名为tfvars的文件。

示例:

terraform apply -var-file="dev.tfvars"

只需在不受支持的每个环境中添加新的tfvars文件即可。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...