terraform-provider-aws相关内容

AWS基础设施文档作为代码

最近,在尝试构建Terraform IaC时,我发现我无法使API网关正确路由到Lambda.事实证明,使用控制台时,AWS会自动分配Lambda网关所需的权限,但是在terraform中使用IaC时,必须明确分配该权限. 以上内容是可以理解的,但对于AWS和terraform而言,对于新手而言,很容易混淆. 是否存在说明基础设施连接中所需组件的文档,例如上述文档? 据我所知,A ..

地形循环依赖

我正在尝试实例化3个通过Terraform知道彼此ip地址的aws_instances.当然,这导致循环依赖性.我想知道什么是克服此问题的最佳方法.我已经尝试了几种解决方案: 一起实例化2个实例,然后实例化一个依赖于这2个实例的实例.在第三个实例中,有一个user_data脚本,该脚本允许实例将ssh转换为其他2个实例来设置必要的配置. 它可以工作,但是我不喜欢它创建2个不同的资源组这 ..

将efs音量添加到ecs fargate

我想将EFS与Fargate一起使用,但是在任务启动时出现此错误: ResourceInitializationError:无法调用EFS utils命令来设置EFS卷:stderr:无法解析"fs-xxxxx.efs.eu-west-1.amazonaws.com";-检查您的文件系统ID是否正确 我已经检查了文件系统ID,它是正确的...如何获得有关此错误的更多信息?可能与安全组有关吗 ..

EC2实例创建

我正在尝试创建多个EC2实例,但是它们具有不同的AMI,实例类型,并且应位于不同的可用区中,如下所示.我尝试了几种不同的方法,但无法使其正常工作. locals {az_ami = [{名称=“主机1",类型="t3a.medium",az ="eu_west_2a",ami_id ="ami-01234abc"},{名称=“主机2",类型="t3a.micro",az ="eu_west_2 ..

Terraform-从参数存储中获取值并传递给资源

我们将最新批准的AMI存储在AWS参数存储中.使用Terraform创建新实例时,我想以编程方式获取此AMI ID.我有一个命令可以拉出AMI ID,但不确定如何将其与Terraform一起使用. 这是我用来提取AMI ID的命令: $(aws ssm get-parameter --name/path/to/ami --query'Parameter.Value'-输出文本) 这是 ..

如何将stepfunction执行ID附加到SageMaker作业名称?

我有一个步进函数状态机,它创建了SageMaker批处理转换作业,定义是用Terraform编写的,我想将stepfunction执行ID添加到批处理转换作业名称中: 在stepfunction terraform文件中: 定义= templatefile("stepfuntion.json",{xxx) 在"stepfuntion.json"中: {..."TransformJo ..

Terraform JSON生成

我正在尝试使用terraform创建 AWS仪表板显示S3指标.我当时想遍历存储在list变量中的所有S3存储桶并生成仪表板json. for循环可以添加指标,但是我无法删除结尾的逗号,这将导致错误的json. 有没有一种简单的方法可以使用这种方法修复此json? 有没有更好的方法来处理json? 我应该使用terraform进行此处理吗? 代码段:- dashboard ..

如何在Terraform变量中串联S3存储桶名称并将其传递到主tf文件

我正在编写terraform模板以创建两个S3存储桶,但是,我的要求是将它们的名称连接到vars.tf中,然后将其传递到主tf文件中.下面是vars.tf和s3.tf主文件. vars.tf: 变量TENANT_NAME {默认="Mansing"}变量BUCKET_NAME {类型=“列表"默认= ["bh.$ {var.TENANT_NAME} .o365.attachments"," ..
发布时间:2021-04-03 19:28:04 其他开发

使用Terraform在route53上获取托管域的zone_id

嗨,我正在用Terraform创建route53记录,我已经有一个托管域(公共),可以说 example.com 如何获取其zone_id并附加到记录中.如何获取现有route53托管区域的zone_id.我已经写了一个文件,但它的作用是创建另一个托管区域 example.com ,而不是获取现有的 example.com 资源"aws_route53_zone";“主要"{名称="exampl ..

Terraform EKS标记

我遇到了这个Terraform EKS标记问题,并且在创建新集群时似乎找不到可行的解决方案来标记所有VPC子网. 提供一些背景信息:我们有一个AWS VPC,在其中将几个EKS集群部署到子网中.我们不创建VPC,或者子网是EKS群集创建的一部分.因此,创建集群的terraform代码无法标记现有的子网和VPC.尽管EKS会添加必需的标签,但是下次我们在VPC上运行terraform appl ..
发布时间:2021-04-03 19:04:39 其他开发

从其他项目Terraform导入ECS任务定义

我有多个项目,每个项目都有自己的Terraform来管理特定于该项目的AWS基础架构.共享的基础结构(例如VPC):我将其导入需要它的项目中. 我想使用步骤功能将来自不同服务的许多不同任务粘合在一起,但是其中一些是Fargate ECS任务.这意味着我需要在step函数中指定任务定义ARN. 我可以导入任务定义,但是如果以后更新管理该任务定义的项目,修订版本将更改,而步进功能将继续指向 ..

Terraform:如何仅在支持请求的实例类型的区域中请求AWS EC2实例?

在请求实例之前,是否有办法获取可用实例类型(例如t3.medium)可用的可用区?我正在尝试运行以下代码,对于某些区域,它会失败,并显示以下错误: 错误:启动源实例时出错:不支持:请求的可用区(us-east-1e)中不支持您请求的实例类型(t3.micro).请通过不指定可用区或选择us-east-1a,us-east-1b,us-east-1c,us-east-1d,us-east-1f来重 ..

使用Terraform的CloudWatch指标警报

当出于某种原因尝试使用Terraform设置某些CloudWatch警报时,它找不到指标,并且警报仍然停留在数据不足的状态.Terraform不会输出任何错误,如果我在AWS中手动搜索,我可以找到指标.我在这里想念什么? 以简单的健康主机警报点为目标组的示例: #healthy主机警报资源"aws_cloudwatch_metric_alarm"“健康" {alarm_name ="$ ..

Terraform:通知SNS的CloudWatch事件

我正在学习TF,并尝试应用可创建以下内容的基础架构: 一个简单的lambda函数 一个SNS主题 获取该lambda订阅SNS主题 一个Cloud Watch Event,它每隔一定的时间向该主题发布一条消息 一个云监视日志组,用于检查lambda是否已由SNS通知 允许来自SNS呼叫的lambda权限 我能够成功地应用它.基础架构看起来非常好(当我通过可视化的aws控制台创 ..