133得票6回答
如何在Terraform中创建SSH密钥?

我需要为不同的用户启动一堆EC2实例。每个用户应该与其他用户隔离,因此每个EC2实例都需要有自己的SSH密钥。 在Terraform中,最好的方法是如何实现这一点? 几乎所有我找到的指南都要求我手动创建一个SSH密钥并将其粘贴到terraform脚本中。 (糟糕的)示例: - [链接1...

54得票6回答
Terraform中的条件属性

Terraform是否支持条件属性?我只想在变量的值决定时使用属性。 例子:resource "aws_ebs_volume" "my_volume" { availability_zone = "xyz" size = 30 if ${var.sta...

51得票7回答
Terraform - 删除除一个之外的所有资源

我有一个Terraform 0.11项目,包含30-40个不同的资源。我想删除其中除了几个逻辑相关的资源之外的所有资源。 我正在寻找类似于terraform destroy --except=resource-id的功能,但当然这样的命令并不存在。 是否有办法在不过多编写脚本的情况下实现这...

48得票6回答
如何在 Terraform 中编写 if、else、elsif 条件语句

在 Terraform 中,有没有一种方法可以编写带有多个分支的条件语句? 我正在设置一个 Terraform 模块来创建 Amazon Aurora 集群。我需要有一个选项来进行跨区域复制,所以我需要根据源区域决定副本的区域。

46得票5回答
Terraform AWS提供程序错误:无法配置不可配置属性的值。不能为“acl”配置值:其值将自动确定

今天,每当我运行terraform apply时,我会看到类似于这样的错误:无法为“lifecycle_rule”配置值:其值将根据应用此配置的结果自动确定。 昨天还好好的。 以下是我运行的命令:terraform init && terraform apply 以下是已...

41得票9回答
刷新状态错误:S3中的状态数据不具有预期内容。

当我们尝试使用远程状态处理来运行terraform脚本时,会遇到以下问题: “刷新状态错误:S3中的状态数据内容与预期不符。这可能是由于S3在处理先前状态更新时出现异常长的延迟所导致的。请等待一两分钟后重试。如果此问题仍然存在,并且S3和DynamoDB都没有发生故障,那么您可能需要手动验证远...

37得票4回答
模块中 Terraform 提供程序/变量共享

有没有一种方式可以将项目中定义的所有模块的提供者进行抽象化。 例如,我有这个项目├── modules │   ├── RDS │   └── VPC └── stacks ├── production │   └── main.tf └── staging ...

33得票5回答
安装"aws"提供程序时出错:openpgp:由未知实体制作的签名。

我正在使用terraform版本0.11.13,今天下午在terraform init步骤中遇到了以下错误信息。 这是不是意味着我需要升级terraform版本?针对aws提供程序是否有弃用的版本? 完整日志如下:Successfully configured the backend &qu...

33得票5回答
如何让Terraform读取AWS凭证文件?

我正在尝试使用Terraform创建AWS S3存储桶,这是我的代码: provider "aws" { profile = "default" region = "ap-south-1" } resource "aws_s3_bucket" "first_tf" { buc...

31得票4回答
如何为多个环境组织terraform模块?

每个网站上关于Terraform的指南都只提供了部分解决方案,这几乎总不是真正的情况。我明白,并非每个人都有相同的基础设施需求,但令我担忧的是,常见情况包括: 多个环境(开发、预发布) 远程后端(s3) 一些基本资源(bucket或ec2实例) 在任何实际项目中都没有展示过。 我正在寻找这...