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

如何在Terraform中将AWS启动模板版本设为最新默认版?

解决方案

要实现启动模板更新时自动创建新版本并设为默认,你可以结合Terraform的aws_launch_template和aws_launch_template_default_version两个原生资源来实现,无需依赖外部CLI命令,完全适配AWS provider 4.14版本。

具体配置示例

# 定义启动模板,修改核心属性时自动创建新版本
resource "aws_launch_template" "app_server" {
  name          = "app-server-launch-template"
  image_id      = "ami-0abcdef1234567890" # 替换为你的目标AMI
  instance_type = "t3.small"

  # 按需添加其他配置:安全组、密钥对、用户数据等
  vpc_security_group_ids = [aws_security_group.app_server.id]
  key_name               = "your-key-pair"
}

# 自动将启动模板的最新版本设为默认
resource "aws_launch_template_default_version" "app_server" {
  launch_template_name = aws_launch_template.app_server.name
  version_number       = aws_launch_template.app_server.latest_version
}

工作原理

  1. 当你修改aws_launch_template的核心属性(如AMI、实例类型、安全组等)时,Terraform会自动创建新的启动模板版本,原版本不会被覆盖。
  2. aws_launch_template资源的latest_version属性会自动同步为新创建版本的编号。
  3. aws_launch_template_default_version资源会监听latest_version的变化,一旦更新就会调用AWS API将对应版本设为启动模板的默认版本。

注意事项

  • 确保你的AWS身份凭证拥有ModifyLaunchTemplate权限,否则无法完成默认版本的设置。
  • 如果启动模板使用name_prefix而非固定name,直接引用aws_launch_template.app_server.name即可,Terraform会自动解析生成的实际名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:33:28