在本地安装和配置Terraform

更新时间:

在使用Terraform配置文件进行云基础设施的定义、预览和部署之前,您需要安装并配置Terraform。

安装Terraform

本文以在Linux或Windows系统中使用程序包安装Terraform为例,更多安装方式,请参见Terraform 安装

  1. 进入Terraform官网下载适用于您的操作系统的程序包。

  2. 配置Terraform运行环境。

    Linux

    执行以下命令将程序包解压到/usr/local/bin

    # 将/terraform_1.9.5_linux_amd64.zip替换为程序包所在路径
    sudo unzip /terraform_1.9.5_linux_amd64.zip -d /usr/local/bin
    

    Windows

    1. 程序包解压之后,例如解压后的目录为D:\tool\terraform

    2. 在桌面右键单击此电脑,选择属性 -> 高级系统设置 -> 环境变量 -> 系统变量/用户变量。

    3. 在系统变量/用户变量中单击Path,选择编辑 -> 新建,输入Terraform的解压目录(如D:\tool\terraform),单击确定完成配置。

  3. 运行terraform验证路径配置。

    terraform

    命令运行后将显示可用的Terraform选项的列表,如下所示,表示安装完成。

    image.png

配置Terraform身份认证

Terraform身份认证是指在通过Terraform操作阿里云基础设施之前,对阿里云Terraform Provider进行身份验证。只有在身份认证成功后,才能与阿里云API进行通信,并创建和管理阿里云的基础设施资源。阿里云Terraform Provider提供多种身份认证方式,有关更多身份认证信息,请参见相关文档Terraform 身份认证

本文以在环境变量中使用RAM用户AccessKey配置身份认证为例:

  1. 由于阿里云账号(主账号)拥有资源的所有权限,其AccessKey一旦泄露风险巨大,所以建议您使用满足最小化权限需求的RAM用户的AccessKey。具体操作方式请参见创建AccessKey

  2. 根据业务需求为RAM用户授予最小化权限,具体操作请参见创建自定义权限策略

  3. 创建环境变量,存放身份认证信息。

    Linux

    重要

    使用export命令配置的临时环境变量仅当前会话有效,当会话退出之后所设置的环境变量将会丢失。若需长期保留环境变量,可将export命令配置到对应操作系统的启动配置文件中。

    # AccessKey Id
    export ALICLOUD_ACCESS_KEY="LTAIUrZCw3********"
    # AccessKey Secret
    export ALICLOUD_SECRET_KEY="zfwwWAMWIAiooj14GQ2*************"
    # 资源将要部署的地域
    export ALICLOUD_REGION="cn-beijing"

    Windows

    1. 在桌面右键单击此电脑,选择属性 -> 高级系统设置 -> 环境变量 -> 系统变量/用户变量。

    2. 在系统变量/用户变量中,单击新建,创建以下环境变量。

      变量名

      变量描述

      变量值

      ALICLOUD_ACCESS_KEY

      AccessKey Id

      示例:LTAIUrZCw3********

      ALICLOUD_SECRET_KEY

      AccessKey Secret

      示例:zfwwWAMWIAiooj14GQ2*************

      ALICLOUD_REGION

      资源将要部署的地域

      示例:cn-beijing

配置Terraform Init加速方案(可选)

编写完Terraform配置文件后,在配置文件所在的目录中执行terraform init,Terraform将根据配置文件中指定的Provider、Provisioner,或与Provider版本相关的资源或数据源,自动加载最新的或指定的Provider版本。

当您遇到因网络延迟等因素导致的Terraform init超时,从而无法正常下载Provider的情况时,可以通过配置阿里云镜像站来解决。阿里云Provider提供了两个下载源:source = hashicorp/alicloudsource = aliyun/alicloud。自Terraform CLI 0.13.2版本起,已提供设置网络镜像的功能,具体配置方式请参见Terraform Init 加速方案配置