问题标签 [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.

0 投票
1 回答
1015 浏览

amazon-web-services - Terraform 计划命令失败

我正在尝试使用不同的用户以及自定义策略来执行我的 Terraform 计划命令,但我无法弄清楚我缺少什么策略操作来运行此命令。我不想让ec2:*

资源已经在运行,我们只是试图将代码移动到不同的项目。

当我使用ec2:*权限运行计划时,它工作正常。

错误:

代码:

0 投票
1 回答
3554 浏览

terraform - 创建 CacheSecurityGroup 时出错:InvalidParameterValue

我正在尝试使用 Terraform 在 Elasticache 上启动 Redis 实例并遇到以下错误。

我在 GH 问题中发现的任何内容都没有帮助。这是我的 Terraform 的样子(我已确认变量已正确传递):

我认为问题可能出在我的 IAM 用户上,所以我添加了AmazonElastiCacheFullAccess策略,但它仍然说不允许这样做。在阅读 AWS 文档上关于API_CreateCacheSecurityGroup的帖子并确认这三个策略包含在AmazonElastiCacheFullAccess.

这些资源周围似乎有一些错误的行为

https://github.com/hashicorp/terraform/issues/10127


我的解决方案

抱歉,请在此忍耐一下。发布这个并完全写出来确实帮助我处理我的想法。我发现这aws_elasticache_security_group是不必要的,只是决定["${var.redis_sec_group}"]直接传递给security_group_idsfor aws_elasticache_replication_group

对于之前已经处理过这个问题的人来说,这似乎很明显,现在对我来说也是如此。但是进入这个全新的它不是。所以这不是我遇到的那个权限问题的解决方案。但是,就像很多事情一样,我退后一步,质疑我是否真的需要它,答案是否定的。

0 投票
1 回答
245 浏览

amazon-ec2 - Terraform - AWS 上的共享卷

尝试将共享卷附加到我的自动缩放组。不确定如何在 terraform 中完成这项工作,或者即使有可能?

aws_volume_attachment 采用一个实例 ID,但我希望以某种方式将其放入启动配置中。有人可以帮忙吗。

0 投票
1 回答
694 浏览

amazon-s3 - 使用 Terraform 为 Django 静态文件配置 AWS S3 存储桶

我是 Terraform 的新手。

我正在尝试配置 S3 存储桶来提供 Django 静态文件。
对这些静态文件的 HTTP GET 请求应该有不受限制的访问,但也应该有 AWS 用户 - Django 将使用此用户帐户将更新的静态文件上传到 S3 存储桶。

我写了这个:

terraform apply导致:

但是添加principalsaws_s3_bucket_policy.integrations_lite_staticfiles_s3_bucket_policy结果:

0 投票
1 回答
2213 浏览

terraform - 每次有人运行 terraform 文件时通知 slack

我试图弄清楚每次有人做一个时通知一个松弛频道

我已经浏览了https://github.com/terraform-aws-modules/terraform-aws-notify-slack,但这专门讨论了云监视警报。我正在考虑一些简单的事情,我可以通过在成功的 terraform 应用结束时调用 webhook 来向 slack 发送通知之类的东西。

有人可以指出我的方向吗,我可以开发一些东西来解决这个问题。只是指针也会有所帮助。

0 投票
2 回答
2077 浏览

terraform - 如何修复:VALIDATION_ERROR:您还必须指定 ServiceAccessSecurityGroup Terraform

我是 terraform 的新手。我在私有子网中启动一个简单的 EMR 集群时遇到了一个问题

它失败并显示以下错误消息:

  • aws_emr_cluster.emr-test-cluster:[WARN] 等待 EMR 集群状态为“WAITING”或“RUNNING”时出错:TERMINATED_WITH_ERRORS:VALIDATION_ERROR:如果在私有中创建集群时使用自定义安全组,则还必须指定 ServiceAccessSecurityGroup子网。

我确实检查了 github 似乎已解决了已打开的问题。但我使用的是最新版本的 terraform (0.11.7)

以下是 Github 中报告的问题的 github 链接 https://github.com/hashicorp/terraform/issues/9518 https://github.com/hashicorp/terraform/pull/9600

有关如何解决此问题的任何建议将非常有帮助

谢谢

0 投票
2 回答
558 浏览

amazon-elastic-beanstalk - Terraform - Elastic Beanstalk - 如何交换环境 URL

我正在尝试使用 terraform/elastic beanstalk 完成蓝/绿部署。一个如何用这个堆栈交换环境 URL?我在这里看不到任何明显的东西。

我能想到的最好的方法是......

  • 运行一个 terraform apply 来启动我的整个架构
    • 旋转起来aws_elastic_beanstalk_environment的蓝色环境
  • 当想要部署应用程序的新版本时,运行terraform apply module.elasticbeanstalk.aws_elastic_beanstalk_environment.green以仅启动其他 aws_elastic_beanstalk_environment 资源
  • 现在我有蓝色和绿色了。实际交换 URL 的时间...
    • 通过命令行eb swapAPI,交换两个环境 URL
    • 手动更新 tfstate
    • terraform push新状态

如果有一个我不必手动操作状态的解决方案,我会喜欢的。或者这是使用这两个工具完成此功能的唯一方法?

0 投票
2 回答
1323 浏览

amazon-web-services - 带有 Terraform 和 Beanstalk 的 CodePipeline

deploy我正在尝试创建一个要在 Beanstalk 上部署的管道,但我在管道部分经常遇到错误:

我错过了什么?

0 投票
1 回答
3281 浏览

terraform - Terraform - aws_cloud_watch_log_metric_filter

有没有人尝试在 cloudwatch 日志上设置指标过滤器的经验?想知道我是否在 Terraform 中发现了错误?

所以这就是我想要做的;

当我运行 Terraform 应用或验证时,我得到了这个响应;

错误:在 157:19 解析 cloudwatch.tf 时出错:预期嵌套对象:LBRACE 得到:ASSIGN

需要明确的是 157:19 与包含 log_group_name 的代码行相关,其中 19 在 = 符号之前。

但是我认为这与我的模式有关,如果我删除日志组..并运行我得到的验证;

aws_cloudwatch_log_metric_filter.AWS_Console_Login: : 无效或未知密钥:失败

我对 AWS 过滤器模式的要求是否过高?

谢谢斯蒂芬

0 投票
1 回答
613 浏览

amazon-web-services - 导入 AWS RDS Aurora 5.7 是否适用于 v0.11.7?

我正在将 Aurora RDS 从 Aurora 1.x (MySQL 5.6) 升级到 Aurora 2.x (MySQL 5.7)。我已经在 AWS 中完成了它(手动通过快照,因为它仍然不支持通过简单的单击),我正在尝试声明 rm并将其导入Terraform (我已经升级了 Terraform 中的代码) ,它成功了,但是terraform 计划想要销毁并重新创建集群(因此也是实例),原因如下:

对于 RDS 集群,我在 TF 中所做的更改是:

对于参数组(集群和实例):

参数组导入成功。

我怀疑问题可能是因为它试图将正确的引擎aurora-mysql ”更改为错误的“ aurora ”,但为什么呢?!它已导入好的,在我的 Terraform 代码中也可以。这是一个TF错误吗?我什么也找不到。

我正在使用Terraform v0.11.7

从文档:

Aurora MySQL 2.x 的引擎名称是 aurora-mysql;Aurora MySQL 1.x 的引擎名称仍然是 aurora。Aurora MySQL 2.x 的引擎版本是 5.7.12;Aurora MySQL 1.x 的引擎版本仍为 5.6.10a。Aurora MySQL 2.x 的默认参数组是 default.aurora-mysql5.7;Aurora MySQL 1.x 的默认参数组继续为 default.aurora5.6。Aurora MySQL 2.x 的数据库集群参数组系列名称为 aurora-mysql5.7;Aurora MySQL 1.x 的数据库集群参数组系列名称仍为 aurora5.6。