terraform相关内容

Terraform 循环依赖

我正在尝试通过 Terraform 实例化 3 个知道彼此 IP 地址的 aws_instance.这当然会导致循环依赖.我想知道克服这个问题的最佳方法是什么.我尝试了几种解决方案: 一起实例化 2 个实例,然后实例化 1 个依赖于这 2 个实例的实例.在第三个实例中,有一个 user_data 脚本,允许实例通过 ssh 连接到其他 2 个实例以设置必要的配置. 它有效,但我不喜欢它 ..

Terraform 的 random_shuffle 提供程序的奇怪行为

我有以下配置: 变量“private_subnets"{默认 = [“子网-A",“子网-B"]}资源“random_shuffle"“az"{输入 = ["${var.private_subnets}"]结果计数 = 1}模块“服务器"{源 = "./modules/aws-ec2"instance_count = 3name = "${var.env}-server"堆栈=“服务器"角色=“ ..
发布时间:2022-01-16 21:30:39 其他开发

通过环境变量文件 .tfvars 在 Terraform 中 variables.tf 中提到的变量的值

如何传递 variable.tf 中提到的 "list" 或 "map" 类型的变量的值.下面提到的 input.tfvars 文件中的语法是否有错误? 目标不是硬编码 variables.tf 或 main.tf 文件中的任何值.在 Terraform.io 文档中,我验证了可以以这种格式提供值. 这是来自网站: 列表可以显式或隐式定义: # 隐式使用括号 [...]变量“ci ..
发布时间:2022-01-16 21:30:30 其他开发

AWS RDS DescribeDbInstances - 仅使用 IaaC 将结果列表限制到特定实例

我正在尝试使用 Terraform 配置架构,并确保应用程序对周围发生的任何事情都尽可能了解. 我的目标是有一个应用程序使用亚马逊的 SDK 来询问哪些 RDS 实例可供它使用,然后连接到其中一个.这样,不需要外部信息(db-instance-identifier 或 Tag). 应用程序只会描述 RDS 实例,并且由于运行它的 EC2 将被 Terraform 授予仅对特定 RDS ..
发布时间:2022-01-16 21:30:17 其他开发

如何使用一个 terraform 脚本和不同的变量值管理多个不同环境的部署

我正在使用 Terraform 在 Azure 上部署 3 层应用程序:前端、后端和数据库.它运作良好.该应用程序是一个产品,我需要为多个客户提供多个实例. 我的问题是,我很难理解将多组值 (variables.tf) 应用于同一个脚本,以获得多个环境. 我希望有以下结构: main.tf 客户1 变量.tf 客户2 变量.tf 然后选择我是部署 custome ..
发布时间:2022-01-16 21:29:57 其他开发

在禁用 IAM 控制台访问的情况下创建的 Terraform 预置 IAM 用户

我在 Terraform 配置中通过 keybase.io PGP 生成凭据.我可以确认新用户通过 aws-cli 访问成功. 但是,控制台访问仍然被禁用.有没有办法在启用控制台访问的情况下使用 Terraform 创建用户? 我很欣赏这对于 Terraform 来说有点反模式,但我希望我的新用户能够登录到控制台 UI 以进行验证/调试. 更新 1 地形模块: htt ..
发布时间:2022-01-16 21:29:40 其他开发

local-exec 中的相对路径

我正在尝试在 local-exec 配置程序中引用本地脚本.该脚本位于模块目录上方的几个级别.使用 ${path.module}/../../scripts/somescript.ps1 会产生 path not found 错误. 将脚本目录移动到模块目录下可以解决问题,但不幸的是,在我的情况下这不是一个有效的选项.工作场景:${path.module}/scripts/somescrip ..
发布时间:2022-01-16 21:29:34 其他开发

ARM 返回要在 Terraform 脚本中使用的应用服务环境 ID

Terraform 不允许部署应用服务环境,因此我使用 azurerm_template_deployment 作为解决方法.但是,我想在稍后创建的应用服务计划资源中引用应用服务环境 ID.如何使用此方法获取和保存应用服务环境的 ID? 我在应用服务计划资源中使用depends_on标签来确保它在应用服务环境之后创建,但我不知道如何从创建中获取id并保存到变量中.我认为这会涉及到ARM模板的 ..

错误:提供程序配置别名无效

升级到 Terraform v0.12.0 版本并使用“terraform 0.12upgrade"更新配置后 我收到以下 terraform init 错误 别名设置为 main.tf 中的变量,并从 azure 传入或替换. 配置存在一些问题,如下所述. Terraform 配置必须在初始化之前有效,因此Terraform 可以确定需要哪些模块和提供程序已安装. ..
发布时间:2022-01-16 21:28:34 其他开发

terraform:根据资源计数创建列表

我们有一堆实例(我知道......牛,不是宠物,但在这种情况下,这些真的是宠物) 资源“aws_instance"“read_00"{计数 = "${var.read_00_count}"资源“aws_instance"“read_01"{计数 = "${var.read_01_count}" 我们有一个 ELB,我们希望根据它们的计数变量动态添加实例,如下所示: 资源“aws_elb"“r ..
发布时间:2022-01-16 21:27:54 其他开发

terraform 是“循环"吗?无用?还是我错过了什么?

我今天写了一些使用“循环"的配置,但后来我才想知道这是否是正确的路径,因为 terraform 将状态文件中的资源保存为列表/数组. 考虑以下配置: 本地人{users_list = [“ab",“cd",“ef"]}资源“aws_iam_user"“用户"{count = "${length(local.users_list)}"名称 = "${local.users_list["${c ..
发布时间:2022-01-16 21:27:38 其他开发