You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过AWS CLI创建现有启动模板版本并追加UserData命令?

解决AWS CLI创建启动模板新版本并追加UserData命令的方法

以下是具体操作步骤,亲测可行:

1. 获取现有启动模板的原始UserData

先执行命令获取目标启动模板的当前UserData(替换your-template-name和your-template-version,版本可填$Latest或具体版本号):

aws ec2 describe-launch-template-versions --launch-template-name your-template-name --versions your-template-version --query 'LaunchTemplateVersions[0].LaunchTemplateData.UserData' --output text

输出内容是base64编码后的字符串,可直接存到变量里后续使用。

2. 解码并追加命令

把编码后的UserData解码,再追加你需要的命令,注意保证脚本格式正确:

# 解码原UserData
original_user_data=$(aws ec2 describe-launch-template-versions --launch-template-name your-template-name --versions $Latest --query 'LaunchTemplateVersions[0].LaunchTemplateData.UserData' --output text | base64 --decode)

# 追加新命令,示例为安装nginx,先加换行避免和上一行内容粘连
new_user_data="${original_user_data}
sudo yum install -y nginx"

# 重新编码为base64格式
encoded_new_user_data=$(echo -n "$new_user_data" | base64)

3. 创建启动模板新版本

执行创建命令,指定新的UserData即可(若需修改其他参数可在launch-template-data里追加):

aws ec2 create-launch-template-version --launch-template-name your-template-name --source-version $Latest --launch-template-data '{"UserData": "'$encoded_new_user_data'"}'

执行成功后会返回新版本信息,你可以用describe-launch-template-versions命令验证UserData是否正确。

常见注意事项

  • 若原启动模板无UserData,直接构造新的脚本内容再编码即可,跳过解码步骤
  • 追加命令时务必加换行符,避免命令和原脚本末尾内容连在一起导致执行失败
  • 使用echo -n进行base64编码,防止自动添加多余换行破坏格式

内容的提问来源于stack exchange,提问作者bills kean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 09:26:00