问题标签 [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 投票
1 回答
2187 浏览

amazon-web-services - 更改 AWS 自定义资源的默认超时

我们能否更改 AWS CustomResource 的默认超时,因为它的默认超时是 1 小时,而将向自定义资源返回 HTTP 响应的作业大约需要 2 小时来发送响应,并且在此之前自定义资源会超时。

0 投票
0 回答
528 浏览

python-3.x - 如何等待 CodePipeline 在 Cloudformation 中部署功能

我有一个 Cloudformation 模板,我想通过它创建 Aurora(MySQL) 表。但是,它没有内置资源。因此,我决定构建一个自定义资源函数来在创建 DbCluster 时创建表。此外,由于 Cloudformation 也可以创建 CI/CD 管道,因此我准备了如下模板。但是,它会引发错误:

未找到函数:arn:aws:lambda:eu-central-1:xxxxxxxxxxxx:MyFunctionName(服务:AWSLambda;状态代码:404;错误代码:ResourceNotFoundException;请求 ID:...)

显然,只要创建 Pipeline,CustomResource 就会运行。但是我需要等待它的第一次功能部署才能在自定义资源中使用它。认为属性RestartExecutionOnUpdate: trueAWS::CodePipeline::Pipeline添加DependsOnCustom::RdsBootstrap有所帮助,但他们没有。

那么,如何让自定义资源不仅仅等待 CodePipeline 创建;还有它的初始部署?

0 投票
1 回答
739 浏览

amazon-web-services - 环境变量中的 CloudFormation 键值对

我对 AWS 还很陌生,所以我在这里问的问题听起来很基本。我正在尝试定义 cloudformation 模板,并且我需要标记我创建的每个资源。

我可以使用以下方法轻松创建资源和应用标签

在这里,如果我创建多个资源标签将被重复,如果我需要更改标签值,我必须为每个资源更改很多次,所以我在想是否有可能像下面这样我可以外部化标签。

无论是这种方式,还是有任何其他方法可以将标签外部化到一个地方并从资源中引用它,这都会使对标签的更改变得更加容易。

0 投票
1 回答
290 浏览

amazon-s3 - 尽管通过 aws "s3 cp s3" 检索成功,但 AWS::CloudFormation::Init 无法从 S3 Bucket 创建文件

在 EC2 实例初始化期间,我试图从 S3 存储桶中检索文件。没有失败(语法)。但是缺少一些东西。initial_setup.sh 文件不是在根目录下创建的 有这么多文章都说相同(或者至少按照我作为新手的拙见)

初始化实例后,我使用 aws cp s3://mybucket/initial_setup.sh 尝试它可以工作,但我必须使用 dos2unix。

另一种方法是将它放在 UserData 中。但这也应该适用于命令。(^)

这里也有人遇到了几乎相同的情况,但有人提到:

“为了使任何命令正常工作,我们需要在 Userdata 中提供一个 shell 环境,否则它无法创建任何文件”

我也将它添加为安全组之后的最后一行。

所以 /root/testfile.txt 会被创建,其中包含指定的文本。

但是存储桶中所需的文件没有显示出来。

0 投票
1 回答
1093 浏览

amazon-cloudformation - 如何在堆栈更新期间强制完全重新创建自定义资源?

我有一个带有自定义资源的 CF 模板(由 lambda 函数支持)。

我希望在更新堆栈时删除此自定义资源并新创建。我怎样才能做到这一点?

为了使这一点变得实用,假设我有一个自定义资源,它只生成一个随机字符串。
或多或少如此处所述:

https://www.itonaut.com/2018/01/03/generate-passwords-in-aws-cloudformation-template/

所以我有一个资源,例如:

一般来说,这是可行的,我得到一些随机字符串作为RandomSuffix.Value.

但是,更新后,此值保持不变。

有没有办法在更新期间强制删除和重新创建我的自定义资源?

0 投票
0 回答
86 浏览

amazon-web-services - CloudFormation 自定义资源问题

我一直在尝试将 CloudFormation 用于 ACM 证书、DNS 委托和 SES 域等任务。这些项目中的大多数似乎都需要自定义资源来完成 CFN 本身无法完成的工作。我找到了许多 lambda 自定义资源的示例并让它们工作。

当我需要更新或可能删除堆栈时,我的问题就出现了。自定义资源变成了巨大的问题。自定义资源超时并导致各种问题。这只是它们如何编码的问题吗?还有其他可以共享的自定义资源的陷阱行为吗?

示例: https ://medium.com/poka-techblog/verify-domains-for-ses-using-cloudformation-8dd185c9b05c

0 投票
0 回答
1305 浏览

amazon-web-services - AWS Cloudformation 堆栈卡在“UPDATE_ROLLBACK_IN_PROGRESS”状态

这个堆栈停留在当前状态已经 10 天了。删除按钮不可用。它发生在嵌套堆栈中发生错误并且该堆栈与父堆栈分开删除(只是假设)之后。目前在不允许创建支持票证的基本计划中,升级和联系支持是解决此问题的唯一方法,还是有其他方法可以为我工作?谢谢!

PS。附上截图

在此处输入图像描述

0 投票
1 回答
192 浏览

amazon-web-services - 当状态机执行被中止时,cloudformation 如何处理基于 AWS Step 函数的自定义资源?

我有几个带有基于多个 AWS Step Functions 状态机的自定义资源的 cloudformation 模板。

有时,在开发任务中,当我试图删除 cloudformation 堆栈时,它们会陷入无限循环,因此删除操作会卡在DELETE_IN_PROGRESS.

虽然我可以中止状态机的执行,但 cloudformation 仍然卡住一小时,直到DELETE操作失败。

我在官方文档中找不到任何关于 cloudformation 如何处理此用例的帮助,似乎唯一的方法是等待一个小时,直到 cloudformation 状态为DELETE_FAILED.

无论如何,有人知道在状态机执行被中止时避免等待吗?

0 投票
3 回答
682 浏览

aws-lambda - 允许一个区域中的 cloudformation 访问不同区域中的 lambda 支持的自定义资源

我在 us-east-2 中有一个 lambda 支持的自定义资源。当我在 us-east-2 中运行 cloudformation 模板时,它工作得很好。当我去 us-east-1 并尝试相同的 cloudformation 模板时,我收到一个错误:

两个 VPC 之间存在 VPC 对等互连,但这似乎没有任何区别。而当我尝试在不同区域的同一个账户中部署相同的功能时,我得到一个错误,我需要找到一个解决方案。

0 投票
4 回答
15906 浏览

json - AWS Cloudformation-如何在 json/yaml 模板中处理字符串大写或小写

在此处输入图像描述

我正在使用 AWS CloudFormation 并创建了一个模板,在该模板中我要求用户选择环境。

在选定值的基础上,我创建了资源。用户必须在 DEV、QA、PROD、UAT 等之间进行选择,但是当我将此值添加到 S3 存储桶名称 (-downloads.com) 后,它是不允许的,因为 S3 存储桶名称中不允许使用大写字母。

因此,我确实在 JSON 中进行了更改,其中我将fn::Transform"Condition":"Lower"一起使用 ,但随后在创建资源时出现以下错误。

找不到名为 871247504605::String 的转换。用户请求回滚。

下面是我的 CloudFormation JSON

我的问题是,我想为 S3 存储桶或任何其他资源做小写或有时大写的值。这该怎么做?

附加模板创建错误的图像。