问题标签 [terraform-provider-aws]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
terraform - 错误 terraform init, plan , apply
terraform init、plan 或 apply 时遇到以下错误
有什么线索吗?
amazon-web-services - Terraform 错误 - 需要最终快照时需要 RDS Cluster FinalSnapshotIdentifier
我是 Terraform 的新手。我正在使用 Terraform 编写 AWS 脚本。执行Terraform Destroy时出现错误。Terraform 脚本是
Terraform Destroy引发错误“aws_rds_cluster.aurora-cluster-ci:需要最终快照时需要 RDS Cluster FinalSnapshotIdentifier”
我的脚本中有“final_snapshot_identifier”键。
amazon-ec2 - 在 Terraform 配置中引用现有 EC2 节点的公共 IP 地址
我有一些 terraform 提供商,具体取决于现有 EC2 节点的公共 IP 地址。我在一个类似的 StackOverflow 问题中看到,您可以通过设置匹配的资源条目来导入现有节点,然后运行以terraform import
导入它:
terraform import aws_instance.test i-12345678
但是,当我运行它时(当然,使用正确的实例 ID)我得到这个错误:
上述命令的配置是:
附加提供程序使用该主机和端口来配置连接到它的其他服务器。有什么想法可以让它发挥作用吗?
amazon-cloudformation - terraform tf 文件或模块可以自动使资源过期吗?
在 cloudformation 中,您可以在运行删除堆栈的命令的堆栈上设置 TTL:https ://aws.amazon.com/blogs/devops/scheduling-automatic-deletion-of-application-environments/
如何在 TF 文件中执行此操作?
或者也许我可以有一个脚本来获取 tf 文件(状态文件)的创建时间,将其与当前时间进行比较并进行销毁?这也可能有用
amazon-web-services - 如何使用 Terraform 配置 AWS 自动缩放组/启动配置以仅在一个 EC2 实例上运行 cron 作业?
我正在为一个 AWS 系统构建一个 Terraform 配置,该系统需要自动缩放组中的一个实例来每天运行一个 cronjob。
是否可以通过 AWS 提供商在 HCL 中表达这一点?社区的“最佳实践”建议是什么?我不希望使用批量计算,因为这需要 ECS。
提前谢谢了。
terraform - 在 Terraform 变量中配置插值列表以创建 SNS 订阅
我正在尝试在我的文件顶部配置一个列表,以列出应订阅 SNS 主题的所有 SQS 资源。它抛出一个“资源变量必须是三个部分:TYPE.NAME.ATTR”
我使用了局部变量,因为它们似乎支持插值,而变量不支持。
这是我的 sns 主题订阅的片段。
能够使用我的变量列表会很好,这样我就可以切换工作区而不会在 AWS 站点上出现任何问题。我能找到的所有示例都指向 CIDR 设置的静态列表,而我希望我的列表基于插值字符串。我也试过
Terraform 也不喜欢那样。应该如何设置我的文件以支持此功能或是否可以支持它?
terraform - 您如何调试 Terraform AWS 提供程序文件配置程序 ssh 超时问题?
我已将文件配置器添加到 aws_launch_configuration 资源并看到 SSH 超时。
我已确保创建的安全组允许入站 ssh 流量。
这是我的相关配置:
我正在使用 Terraform v0.11.7、provider.aws v1.25.0、provider.template v1.0.0 版本。
从 Terraform 中获取有关该问题的更多信息的最佳方法是什么?有什么我不知道的问题吗?
提前谢谢了!
amazon-web-services - Terraform Fargate ECS 提供无效或未知的密钥:requires_compatibility
我在 Terraform 脚本上运行了 Terraform 计划以启用 Fargate,但出现以下错误:
错误:aws_ecs_task_definition.task: : 无效或未知键:requires_compatibilities
和
错误:aws_ecs_service.service: : 无效或未知键:launch_type
不知道为什么 Terraform 不接受密钥launch_type
并requires_compatibilities
启用 Fargate。
下面是我的 Terraform 任务和 ECS 服务设置:
地形
amazon-web-services - 如何通过 Terraform 为 AWS S3 VPC 终端节点创建 ACL 规则?
我需要通过 Terraform 为 S3 设置 VPC 端点。
为此,我需要在我的 acl中为相应区域中 S3 使用的所有CIDR 块添加规则。
aws_prefix_list
我可以使用数据源获取 CIDR 块。
然后问题是添加规则。需要通过aws_network_acl_rule
资源一次添加一个规则。
但是,在事先不知道将返回多少 CIDR 块的情况下,无法通过它们进行枚举(Terraform 不允许我们简单地计算结果)。
我不想硬编码期望的结果数量(区域和时间不同)。
以下因错误而失败,* aws_network_acl_rule.private_s3: aws_network_acl_rule.private_s3: value of 'count' cannot be computed
因为它在计划时不知道将返回多少结果。
有什么想法吗?
terraform - ASG 和 EFS 等其他资源上的 terraform 动态标签
我想在aws_autoscaling_group资源上获取动态标签,但与文档中的示例不同,我现在还不知道会有多少标签,并且这些标签必须与其他资源共享。在下面的示例中,这将是 EFS,但基本上所有其他 aws 资源都会受到影响。
所以设置了以下几行:
我想出了一个支持x
动态标签的解决方案。不幸的是,它使用虚拟标签来填充未提供的标签,直到x
.
通过 ASG 中的此代码,我可以使用tags = ["${local.tags}"]
. 使用示例输入,资源被标记为
我想有一个解决方案是
- 动态的
- 不使用不必要的标签
- 同时使用 ASG 和其他 AWS 资源
- 简单地将 ASG 上的所有标签传播到启动的实例:
propagate_on_launch = true
因此,解决方案必须先获取现有标签并为其添加propagate_at_launch
密钥,然后再将其添加到 ASG。