gpt4 book ai didi

amazon-web-services - 自动化 Cloudformation 模板部署

转载 作者:行者123 更新时间:2023-12-03 07:13:38 25 4
gpt4 key购买 nike

我目前正在使用 Cloudformation 模板在 AWS 中配置资源。

目前,如果我需要创建 VPC 和安全组,首先我将从模板创建 VPC,然后再次为安全组启动另一个模板,在其中手动输入 VPC ID。

现在,我需要在 Cloudformation 中自动执行此手动过程。我怎样才能做到这一点?我可以使用 AWS 开发人员工具或其他自动化工具吗?

最佳答案

简短回答

您需要遵循输出您创建的任何 AWS 资源的 ARN/名称的做法,以便以后如果您需要它们,您可以通过在新模板中进行导入的简单引用来轻松实现。

正如 Nimo 在上面的回答中所解释的,为此,您需要对您期望的任何资源的所有模板使用 Outputs 部分中的 Export 函数可能会被重复使用。然后您可以轻松地使用 Fn::ImportValue 来使用之前创建的资源,而无需知道资源的实际物理 ID。这称为跨堆栈引用。

自动化部分说明

您的基础设施似乎需要持续集成和持续部署(CICD),以便您的代码更改将直接/自动部署到 AWS。您必须为此设置管道,以下是最简单但不是唯一的方法:

  1. 使用 Github/AWS codecommit 等来存储您的 CloudFormation 代码并将其触发器设置为分支,例如你的 master 分支所以任何它的变化将触发管道并部署这些自动更改。

  2. 为此目的,请使用 AWS 的 native 服务 AWS CodePipeline。这是您可以在其中定义具有各个阶段的完整管道,而每个阶段可能有许多操作,并且每个操作都会创建一个堆栈。所有堆栈都可以使用先前创建的堆栈的输出,并且某些内容也可以传递到参数中。为此,您必须使用 AWS::CodePipeline::Pipeline 作为资源创建一个新堆栈。

  3. 对于没有导出功能的资源也使用输出您认为您需要的那些资源。比如说,你可能需要负载均衡器的 DNS 端点(如果您有的话)。

这是一个Reference Pipeline Stack它使用 s3 作为存储代码的源。

关于amazon-web-services - 自动化 Cloudformation 模板部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56207078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com