如何在云形成中更新用户数据?
How to update user data in cloud formation?
我是云形成的新手!
我们如何更新云形成中的用户数据,更新堆栈是否也更新 UserData 内部更改的任何内容?如果不是,我们如何更新用户数据更改?谢谢!
"UserData": {
"Fn::Base64": {
"Fn::Join": [
"",
[
"#!/bin/bash\n",
"apt-get update\n",
"apt-get -y upgrade\n",
]
]
}
}
可以更新用户数据,但需要停止和启动 EBS 支持的实例:
要更新 cloudformation 模板中的任何内容,您 运行 使用新的或更新的 cloudformation 模板作为输入参数的 update-stack 命令。然后 AWS 只会更改您已更改的组件。因此,如果在您 运行 update-stack 时更改了 userData 部分中的任何行,AWS 将再次 运行 遍历整个 userData 部分。
这也意味着如果您的更改需要更新用户数据,您的 EC2 实例将被销毁并替换为新实例。
更新: 如果您的 EC2 实例正在使用 EBS 驱动器并且您先将其关闭,则可以在不破坏的情况下更新您的 EC2 实例用户数据。但我认为这是一种反模式。 EC2 实例只是一个虚拟机。你应该保持它不变。如果需要更改,请重建实例。
"Fn::Join": [
"/n",
[
"#!/bin/bash",
"apt-get update",
"apt-get -y upgrade",
]
其实这才是正确的做法。不知道是不是你这边打错了
我是云形成的新手! 我们如何更新云形成中的用户数据,更新堆栈是否也更新 UserData 内部更改的任何内容?如果不是,我们如何更新用户数据更改?谢谢!
"UserData": {
"Fn::Base64": {
"Fn::Join": [
"",
[
"#!/bin/bash\n",
"apt-get update\n",
"apt-get -y upgrade\n",
]
]
}
}
可以更新用户数据,但需要停止和启动 EBS 支持的实例:
要更新 cloudformation 模板中的任何内容,您 运行 使用新的或更新的 cloudformation 模板作为输入参数的 update-stack 命令。然后 AWS 只会更改您已更改的组件。因此,如果在您 运行 update-stack 时更改了 userData 部分中的任何行,AWS 将再次 运行 遍历整个 userData 部分。
这也意味着如果您的更改需要更新用户数据,您的 EC2 实例将被销毁并替换为新实例。
更新: 如果您的 EC2 实例正在使用 EBS 驱动器并且您先将其关闭,则可以在不破坏的情况下更新您的 EC2 实例用户数据。但我认为这是一种反模式。 EC2 实例只是一个虚拟机。你应该保持它不变。如果需要更改,请重建实例。
"Fn::Join": [
"/n",
[
"#!/bin/bash",
"apt-get update",
"apt-get -y upgrade",
]
其实这才是正确的做法。不知道是不是你这边打错了