- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在努力创建一个 CloudFormation 堆栈,该堆栈将发布给客户,以便在客户的 AWS 环境中安装我们产品的“本地”代理。我们希望从我们的一端启动连接,并根据 CloudFormation 的输出添加一些配置。
有没有办法自动将 CloudFormation 的输出传输回模板的发布者?我一直在网上寻找解决方案,但没有成功。不确定这是否可能 - 但我希望这里有人可能做过类似的事情。
找不到任何解决方案。据我所知,“唯一”的方法是要求客户端手动发回输出,但我很高兴被证明是错误的:)
最佳答案
所以我碰巧正在做类似的事情,这就是我发现的有效方法。我将列举一些注意事项。
TLDR;
要让 CloudFormation 堆栈“回拨”,您可以指定一个 SNS 主题,堆栈将在创建、更新和/或删除时向该主题发布更改。 CloudFormation docs (请参阅“通知选项”)和 CLI reference (参见“--notification-arns”)提及这一点。然后,您可以让 Lambda 响应 SNS 消息以实现您所需的行为。不幸的是,您无法在堆栈模板中指定此主题,只能在调用创建堆栈时提供 is。这可以通过使用 nested CloudFormation stack 来解决。 .
我的(当前)方法:
使用具有 resource policy 的 SNS 主题它允许安装用户的 AWS 账户向您的主题发布消息。 AWS documents how to do this ,但请注意,使用 AWS Account Principal SNS 主题策略(到目前为止,这是唯一对我有用的策略)允许客户帐户中的任何内容发布到 SNS 主题。这个安全问题是我尚未解决的一部分,最好是 Service Principal 的组合。并且可以使用限制性 IAM 政策条件。
创建一个提供给用户的模板,该模板充当顶级堆栈,并包含一个嵌套堆栈,您将使用该堆栈在用户的 AWS 账户中创建资源。这也让您有机会做类似 use a mapping 的事情为您的 CloudFormation 通知指定每个区域的 SNS 主题。
当 specifying your nested stack在您的顶级堆栈模板中,您可以使用 NotificationARNs
属性来提供 SNS 主题 ARN,以便嵌套堆栈向您报告。
订阅 SNS 主题的 Lambda(或其他机制)需要解析和过滤 CloudFormation 发布的消息才能做出适当的 react 。当需要获取用户 AWS 账户中 IAM 角色等内容的 ARN 时,我的建议是为该角色指定一个静态名称,以便您可以通过使用用户的 AWS 账户 ID 和角色名称来了解该角色的 ARN。理想情况下,该角色将有权检索有关 CloudFormation 堆栈的信息,以便您可以获得 ARN 以及有关您的堆栈创建的任何其他资源的其他数据。
关于amazon-web-services - 从客户端环境获取 CloudFormation 堆栈输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75286228/
有没有办法在试运行模式下运行 AWS cloudformation 更新?因为我意识到 aws validate 不会拾取所有错误,并且当您运行更新时会抛出新错误。 最佳答案 最接近的方法是运行模拟测
我是 cloudformation 的新手,我正在尝试按照 AWS 文档创建具有方法限制的使用计划。我需要定义一个 ApiStage具有 Throttle 属性。 我尝试了以下方法,但收到错误 - 属
我正在整理一个用于运行 cloudformation/sam 的角色/策略,以尽可能地限制访问。是否有一组通用的策略操作应该用于运行 create-stack? 这是一个代码构建,我使用它在应用程序运
我正在尝试创建一个资源,其属性之一不是常量值。听起来像是堆栈参数的工作,只不过它是一个在某些情况下可以采用 Ref 函数形式的字符串。具体来说,如果是初始创建,我希望参数值是对另一个资源的 Ref,如
我的实际任务是: 在 CloudFormation 外部创建 AMI 使用 CloudFormation 从 AMI 启动实例 分离所有现有卷(包括根卷和数据卷) 附加根据最新快照创建的新卷(根卷和数
我在 cloudformation 中有一个启动实例的模板。它工作正常,但它没有创建我在模板中提到的标签。下面是我的模板 { "AWSTemplateFormatVersion": "2010-0
我尝试通过 Cloudformation 使用 AWS Conformance Pack。我创建了一些非常简单的东西: 以下堆栈创建 S3 存储桶 + 一致性包。然后我将一致性包模板存储到另一个 S3
我的目标是编写一个 Lambda 函数,根据标签将角色附加到 EC2 实例。因此,每当创建新的 Ec2 实例时,都必须自动为其附加一个角色。我希望根据 EC2 实例状态更改(正在运行)触发 lambd
我想使用 CloudFormation 配置 OpenVPN,我想我可以从市场获取 AMI ID 并启动它,因为我想启动一个具有 10 个连接的实例,但不幸的是我无法从市场获取 AMI ID 。如何获
我有一个正在创建 ACM 证书的 cloudformation 堆栈。昨天的代码运行良好,因此我将其移至嵌套堆栈中。 该模板来自一个非常漂亮的示例。我有一个托管区域,这就是我请求证书的地方,模板有一个
我目前正在使用 terraform 和 CloudFormation 之间犹豫。有一个问题我还没有看到答案(或者也许,我只是还没有找到它)。 在 terraform 中,您可以为所有事物指定准确的名称
我收到以下错误,但不知道它来自哪里,希望有人可以提供帮助。 模板验证错误:模板格式错误:任何 Properties 成员都必须是 JSON 对象。 cloudformation脚本 { "AWST
我目前将所有参数存储在 Systems Manager Parameter Store 中,并在 CloudFormation 堆栈中引用它们。 我现在陷入了同一 Cloudformation 模板的
我正在创建一条通往互联网网关的公共(public)路由。当我通过 GUI 进行配置时,完全没有问题。当我尝试通过我的 Cloudformation 模板执行此操作时,每次都会失败。这是网关的构建,没有
在cloudformation模板中,有一个输出部分,用于与跨堆栈对话。 如果我们在一个 AWS 账户中只创建一个堆栈,那么这部分不应存在,这样说是否正确? 最佳答案 输出部分可用于通过 Export
我有以下结构(几乎是样板文件)。我的问题是,我在 ParentStack 中定义的映射在 ChildSTack 中可用还是我需要复制它们?我知道我可以将参数传递给 ChildStack,但想知道 Ma
我有一个主 Cloudformation 模板,它调用两个子模板。我运行了第一个模板,并在资源的 Outputs 部分中捕获了输出。我已经在嵌套的第二个模板中使用 ChildStack01 输出值进行
除了Web控制台中的“检查漂移”功能之外,是否还有其他触发器可以进行检查? cloudformation 是否会在堆栈更新之前自动检查偏差? 假设我有一个创建 s3 存储桶的 cf 堆栈。然后我从 W
有没有办法在 CFN 模板中包含自定义验证器? 我知道我们可以像这样添加规则执行: https://aws.amazon.com/blogs/mt/how-to-perform-cross-param
我正在使用 CloudFormation 模板创建 KMS key ,然后使用该模板在另一个模板中创建 IAM 角色,因为它引用了 KMS key 。需要更新创建 KMS key 的堆栈以将 IAM
我是一名优秀的程序员,十分优秀!