Terraform Module 依赖源升级说明

更新时间:
复制为 MD 格式

升级内容

阿里云 Terraform Module 的依赖源(source)从 hashicorp/alicloud(已废弃)升级为 aliyun/alicloud

依赖源升级后,各个module的主版本号同步升级。例如:

  • 1.0.3 → 2.0.0

  • 2.1.1 → 3.0.0

影响范围

通过查看各 Module 的发布日志,可确定本次升级涉及的具体版本。

场景

是否受影响

未使用阿里云 Terraform Module

无影响

已使用,但无需升级或目标版本低于本次升级版本

无影响

已使用,且目标版本已高于本次升级版本

有影响,需要操作升级

升级步骤

步骤一:更新 Module 版本号

修改 Terraform 配置文件中的 module 版本号,以vpcmodule为例修改version属性:

# 修改前
module "vpc" {
  source  = "alibaba/vpc/alicloud"
  version = "1.11.0"
  # ...
}

# 修改后
module "vpc" {
  source  = "alibaba/vpc/alicloud"
  version = "2.0.0"
  # ...
}
说明

若使用了多个 Module,且仅部分 Module 需要升级,建议将需要升级的 Module 拆分到独立的配置文件中,再执行后续步骤。

步骤二:添加 Provider 约束

在 Terraform 配置文件中添加如下 aliyun/alicloud 块,指定新的依赖源 aliyun/alicloud

terraform {
  required_providers {
    alicloud = {
      source = "aliyun/alicloud"
    }
  }
}

步骤三:重新初始化

执行以下命令重新初始化 Terraform。

terraform init

常见问题

升级会影响现有资源吗?

不会。升级完成后,执行 terraform plan 应显示 "No changes"。

可以不升级吗?

可以。旧版本仍可继续使用,但建议升级以获取官方 Provider 的持续支持和更新。