Terraform配置指南
什么是Terraform
Terraform是一个开源的IT基础设施编排管理工具,通过Terraform您可以轻松的创建、管理、删除云容器实例资源,并对其进行版本控制。更多关于Terraform的介绍请参考Terraform产品介绍。
安装Terraform
Terraform是以二进制可执行文件发布,您只需下载Terraform,然后将Terraform可执行文件所在目录添加到系统环境变量PATH中即可。

Terraform支持多个操作系统,如Linux、macOS、Windows等,您可以登录Terraform官网,下载对应操作系统的安装包,并将可执行Terraform文件添加至对应系统的环境变量中。
下文示例以Linux环境为例,进行Terraform安装说明。
- 登录Terraform官网,下载对应的Linux操作系统安装包。
- 在命令行中执行如下命令,解压安装包,赋予Terraform可执行权限,并放到PATH目录下。其中,$PATH为PATH路径(如/usr/local/bin),请替换为实际的值。
unzip terraform_1.xx.x_ chmod +x ./terraform mv ./terraform $PATH
- 在命令行中执行如下命令验证配置路径是否正确。
terraform -version
如果回显如下则说明配置正确,Terraform可以运行。
认证与鉴权
使用Terraform管理云容器实例资源前,您需要获取AK(Access Key)/SK(Secret Key),并在Terraform上进行配置,从而认证鉴权。
您可以使用静态凭据或环境变量两种方式配置Terraform。
使用静态凭据的认证方式比较简单,但需要将AK/SK以明文的形式存储在配置文件中,存在密钥泄露的安全隐患。推荐您使用环境变量的方式进行认证。
- 静态凭据(Static credentials)
provider "huaweicloud" { region = "cn-north-4" access_key = "my-access-key" seccret_key = "my-secret-key" }
region:区域,急需要创建管理那个区域的资源。您可以单击此处查询华为云支持的区域。
access_key:密钥ID,即AK。查询方法请参见访问密钥。
secret_key:访问密钥,即SK。查询方法请参见访问密钥。
- 环境变量(Environment variables)
将region、AK/SK等参数设置为环境变量的方式进行认证。
export HW_REGION_NAME="cn-north-4" export HW_ACCESS_KEY="my-access-key" export HW_SECRET_KEY="my-secret-key"
HW_REGION_NAME:区域,即需要创建管理那个区域的资源。您可以单击此处查询华为云支持的区域。
HW_ACCESS_KEY:密钥ID,即AK。查询方法请参见访问密钥。
HW_SECRET_KEY:访问密钥,即SK。查询方法请参见访问密钥。
初始化工作目录
- 创建一个工作目录。
mkdir test
- 在工作目录下创建“versions.tf”文件,指定华为云Provider的registry源和版本,文件内容如下:
terraform { required_providers { huaweicloud = { source = "huaweicloud/huaweicloud" version = ">=1.xx.xx" # 待加载provider的版本,可通过`=`指定需要加载的版本,通过`>=`指定需要加载的最小provider版本,优先加载最新版本。 } } }
- 创建“main.tf”文件,配置华为云Provider,文件内容如下:
# Configure the HuaweiCloud Provider provider "huaweicloud" { region = "cn-north-4" access_key = "my-access-key" secret_key = "my-secret-key" }
示例内容为HuaweiCloud Provider的配置,包含认证鉴权的内容,请根据认证与鉴权配置相关参数;如果使用环境变量方式认证鉴权,可以省略该部分内容。
- 执行如下命令初始化。
terraform init
回显如下,首次执行时会下载HuaweiCloud Provider并安装。
后续若需修改文件“versions.tf”或者“main.tf”文件配置信息,可通过如下命令进行升级。
terraform init -upgrade
正常情况下,通过terraform init命令将华为云provider下载到工作目录下。对于国内用户来说,该命令会消耗较长时间甚至失败。
您可以手工下载华为云provider至本地目录,然后搭建本地registry并修改 terraform块中的required_providers配置,详情请参考:https://support.huaweicloud.com/terraform_faq/index.html