问题标签 [aws-cloudformation-custom-resource]

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 投票
2 回答
65 浏览

amazon-web-services - CloudFormation 条件问题

我有一个 CloudFormation 模板,我想在 AutoScale 结构中使用一个条件,但我遇到了错误。我想知道我是否遗漏了什么?

我的条件:

AutoScale 中的负载均衡器:

错误:

属性 LoadBalancerNames 的值必须是字符串列表类型

我想做什么?

如果输入“true”,则添加负载均衡器的名称,如果输入“false”,则将其留空。

感谢您的帮助。

0 投票
2 回答
1621 浏览

amazon-cloudformation - 在 AWS SAM 模板中出现 Fn::GetAtt 错误

我已经在我的 AWS 无服务器应用程序模型模板中声明了 SNS 主题和订阅,如下所示:-

然后在我的 Lambda 函数环境中使用 SNS 主题 ARN,如下所示在同一个模板文件中:-

输出(在 SAM 模板中):-

但是,我收到以下错误:-

13:30:30 错误:无法为堆栈创建变更集:my-stack,例如:Waiter ChangeSetCreateComplete 失败:Waiter 遇到终端故障状态状态:FAILED。原因:模板错误:资源 MyTopic 不支持 Fn::GetAtt 中的属性类型 Arn

0 投票
1 回答
797 浏览

amazon-cloudformation - 订购模板中提到的参数

在控制台中创建堆栈时,控制台会按逻辑 ID 的字母顺序列出输入参数。有办法使用接口自定义订单。

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-interface.html

但是有没有办法按照模板中提到的那样对参数进行排序?

0 投票
1 回答
112 浏览

amazon-web-services - AWS CloudFormation VPC CIDR 分配给安全组

当我选择 VPC 网络时,如何将 VPC 的 CIDR 分配给安全组?

感谢您的帮助。

0 投票
0 回答
42 浏览

amazon-web-services - 如何让 Cloudformation 我们成为公共 AMI

我的任务是使用 CloudFormation 自动创建 EC2 实例。我有一个与私有 AMI 完美配合的脚本。我的查询是否可以使用市场上的 AMI?当我使用 AMI ID 时,当我运行脚本时它说找不到 ID。

0 投票
1 回答
279 浏览

amazon-web-services - 如何在 AWS CloudFormation 的参数部分添加条件?

所以我想要做的是,我定义了一个名为 EnvType 的参数,其中包含允许值测试或生产。

应该发生的是当用户选择其中一个环境测试或生产时,假设测试然后他应该能够选择另一个名为 InstanceType 的参数,其中允许的值将是下拉列表中的所有“t”类型实例,而创建堆栈。

如果用户选择生产作为EnvType,那么在称为InstanceType 的同一参数下允许的值必须是除't' 类型之外的所有实例类型,例如('m' 类型)。

rds 也必须如此。假设用户选择 EnvType 作为测试,则名为 DBInstanceType 的参数下允许的值必须是“db.t”类型实例,否则为“db.r”类型实例。

参数

映射

资源

好吧,我知道模板无效,并且在 InstanceType 和 DBInstanceType 参数的允许值中容易出错,但我正在寻找这样做的替代方法。

请帮忙!!

0 投票
1 回答
924 浏览

amazon-cloudformation - AWS CDK - 如何将“占位符”令牌与低级 cfn 构造一起使用

我正在使用 CDK(在 typescript 中)定义 AWS Timestream DB 和其中的表。

我想允许 AWS 设置数据库的名称(并避免对其进行硬编码)。问题是如何在表结构中引用该数据库名称。

CDK 用户会知道实际的数据库名称是在 AWS 中创建后才定义的(即在定义表的 CDK 代码执行之后)。为此,CDK 提出了占位符Token 的想法(我的重点)。

我知道在更高级别的CDK 构造中,已经定义了占位符 Token。对于低级 cfn构造,情况似乎并非如此。

下面是一些示例代码来解释:

此代码使用更高级别的发电机构造和 lambda 并且可以工作:

这是我为 AWS Timestream 编写的代码,没有生成令牌:

我的问题:

  1. 为什么:为什么较低级别的构造不生成令牌。
  2. 如何:我我可以创建一个令牌并将其分配给db.databaseName但我不知道如何在cdk deploy运行时用数据填充该令牌。

任何有关生成令牌并填充它的示例代码的帮助将不胜感激。

0 投票
1 回答
42 浏览

amazon-web-services - Lambda HTTP request to presigned S3 URL timing out

I have a Custom Lambda resource that inits my DB and then is supposed make the call to the presigned S3 url when done. It's initing the DB correctly but is timing out when making the call to S3. My guess is I did something wrong in my CloudFormation template that's causing that due to my limited networking knowledge. Would appreciate any help. Thank you in advance!

Trimmed down YAML:

0 投票
1 回答
774 浏览

yaml - 无法将 EKS 节点组加入 AWS CloudFormation 中的现有 EKScluster

在此模板中,我们将创建要部署在现有 EKS 集群和 VPC 中的节点组。堆栈已成功部署,但我在现有 EKS 集群中看不到节点组。

问题似乎在这里

可能在这里

好吧,虽然模板正在部署,但节点组在我的 EKS 集群中不可见。请让我知道是否需要进行任何更新,以便将节点组部署到集群中。

0 投票
0 回答
130 浏览

amazon-web-services - 获取 ENI 并将它们解析为 CloudFormation 中的 IP

有谁知道如何创建一个自定义资源来获取 ENI (!GetAtt AGWEndpoint.NetworkInterfaceIds) 并将它们解析为 IP。

我想获取 API 网关的 VPC Endpoint 的 IP 地址。我想得到这个IP地址并把它放在cloudformation模板的输出部分。就像您在此示例中看到的那样,我可以获得 DNS(使用 NetworkInterfaceIds),但我想要 IP 地址。