amazon-web-services - 用于管理 AWS 环境的 Terraform TFVAR 文件
问题描述
我有一个项目使用 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
dev中文件的示例内容
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
每个受支持的环境中添加一个新文件即可。
推荐阅读
- python - 选择过期字段
- game-development - Godot 信号是否充当事件处理程序?
- go - 无法通过网络连接到 VoltDB
- python - 是否可以在 Snakemake 中有一个可选的输出文件?
- netsuite - 无法创建入库货件
- ionic-framework - Ionic 4:this.platform.is('desktop') 在 android 4.4.4 中安装 apk 时返回错误值
- python - 如何在同一行中获取字符串和两个整数作为输入
- c# - 在 c# 中使用 emgucv 旋转图像的像素错误
- angular - 如果使用掩码='+1 000 000',表格值不会以角度重置
- node.js - 如何将静态 YAML 文件与 React Native 应用程序捆绑在一起?