gpt4 book ai didi

amazon-web-services - cfn-init 检测什么类型的更改?

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

我正在研究使用 cfn-init 和 userdata 之间的区别。我从各种文档中了解到,使用 cfn-init 对堆栈进行更改不会替换 ec2 实例,而只是将配置更改更新到现有 ec2 实例。

有人可以澄清一下这里的文档指的是哪种类型的配置更改吗?

我在云形成模板中使用 AWS::CloudFormation::Init 来安装软件并创建新文件和服务。该堆栈成功运行,没有任何问题,并且所有软件和服务都已安装。

当我尝试在 AWS::CloudFormation::Init 部分创建新文件并更新堆栈时,未创建新文件。

以下是 CFT 模板中添加的新内容。

        "/tmp/hello.html":
content:
Fn::Join:
- ''
- - "#!/bin/bash \n"
- "Checking if this file is created \n"
mode: '000755'
owner: root
group: root

我希望创建新文件,但我没有看到它被创建。那么,cfn-init 可以检测并应用什么样的更改?

最佳答案

cfn-init 有效更改 Amazon EC2 实例上的用户数据字段。

通过用户数据提供的脚本仅在第一次启动实例时执行。 (官方说法是“每个实例 ID 一次”)。

因此,更改 CloudFormation 模板中的用户数据将不会影响任何正在运行的实例。要让它运行,需要创建一个新实例。

AWS::EC2::Instance - AWS CloudFormation文档称用户数据可以在“一些中断”下更新。但是,这不会触发新脚本的执行。

您需要进行试验以了解如何在更改 cfn-init 配置时强制创建新实例。它可能创建一个新实例。如果没有,您需要找出一种方法来强制它发生,例如更改另一个确实导致实例被替换的属性。

关于amazon-web-services - cfn-init 检测什么类型的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57385187/

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