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

如何通过Python/Boto3移除组件创建AWS启动模板版本?

用Boto3创建移除KeyName的启动模板新版本

要实现保留原启动模板所有配置但移除KeyName的新版本,不能直接给KeyName设None或空值——这不符合AWS EC2 API的要求。正确的做法是利用API提供的删除属性专用参数,具体操作如下:

  • 调用create_launch_template_version时,指定基于原模板的目标版本(比如最新版本$Latest)创建新版本
  • 在LaunchTemplateData参数中设置DeleteKeyName=True,这个参数会告诉AWS移除原模板中的KeyName配置,其余属性自动继承原版本的设置

示例代码

import boto3

# 初始化EC2客户端
ec2_client = boto3.client('ec2')

# 创建移除KeyName的启动模板新版本
response = ec2_client.create_launch_template_version(
    LaunchTemplateName='你的启动模板名称',
    SourceVersion='$Latest',  # 可替换为具体版本号,比如'1'
    LaunchTemplateData={
        'DeleteKeyName': True
    },
    VersionDescription='移除KeyName的新版本'
)

# 验证结果,打印新版本详情
print(response['LaunchTemplateVersion'])

补充说明

  • 该逻辑适用于移除启动模板中的其他属性,比如要移除IamInstanceProfile,就设置DeleteIamInstanceProfile=True,以此类推
  • SourceVersion必须指定,否则会创建一个全新的空模板版本,而非基于原版本修改

内容的提问来源于stack exchange,提问作者Boris Trukhnov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:52:05