在使用Terraform的简单模板语言定义、预览和部署云基础结构前,您需要安装预配置Terraform。

操作步骤

  1. 前往Terraform官网下载适用于您的操作系统的程序包。
  2. 将程序包解压到本地路径中,例如/usr/local/bin
    如果将可执行文件解压到其他目录,按照以下方法为其定义全局路径:
  3. 运行terraform验证路径配置。
    将显示可用的Terraform选项的列表,类似如下所示,表示安装完成。
    username:~$ terraform
    Usage: terraform [-version] [-help] <command> [args]
  4. 为提高权限管理的灵活性和安全性,建议您创建RAM用户,并为其授权。
    1. 使用云账号登录RAM控制台
    2. 创建名为Terraform的RAM用户,并为该用户创建AccessKey。具体操作,请参见创建RAM用户
    3. 为RAM用户授权。在本示例中,给用户Terraform授予AliyunEDASFullAccessAliyunVPCFullAccess权限,具体步骤请参见为RAM用户授权
  5. 创建测试目录。
    因为每个Terraform项目都需要创建1个独立的工作目录,所以先创建一个测试目录terraform-test
    [user@test bin]#mkdir terraform-test
  6. 进入terraform-test目录。
    [user@test bin]#cd terraform-test
    [user@test terraform-test]#
  7. 创建配置文件。
    Terraform在运行时,会读取该目录空间下所有*.tf*.tfvars文件。因此,您可以按照实际用途将配置信息写入到不同的文件中。下面列出几个常用的配置文件:
    provider.tf           -- provider配置
    terraform.tfvars      -- 配置provider要用到的变量
    varable.tf            -- 通用变量
    resource.tf           -- 资源定义
    data.tf               -- 包文件定义
    output.tf             -- 输出
    例如创建provider.tf文件时,您可按以下格式配置您的身份认证信息:
    [user@test terraform-test]# vim provider.tf
    provider "alicloud" {
        region      = "cn-beijing"
        access_key  = "LTA**********NO2"
        secret_key  = "MOk8x0*********************wwff"
    }

    更多配置信息,请参见alicloud_edas_application

  8. 初始化工作目录。
    [user@test terraform-test]#terraform init
    
    
    Initializing provider plugins...
    - Checking for available provider plugins on https://releases.hashicorp.com...
    - Downloading plugin for provider "alicloud" (1.25.0)...
    
    
    
    
    The following providers do not have any version constraints in configuration,
    so the latest version was installed.
    
    
    To prevent automatic upgrades to new major versions that may contain breaking
    changes, it is recommended to add version = "..." constraints to the
    corresponding provider blocks in configuration, with the constraint strings
    suggested below.
    
    
    * provider.alicloud: version = "~> 1.25"
    
    
    Terraform has been successfully initialized!
    
    
    You may now begin working with Terraform. Try running "terraform plan" to see
    any changes that are required for your infrastructure. All Terraform commands
    should now work.
    
    
    If you ever set or change modules or backend configuration for Terraform,
    rerun this command to reinitialize your working directory. If you forget, other
    commands will detect it and remind you to do so if necessary.                        
    重要 每个Terraform项目在新建Terraform工作目录并创建配置文件后,都需要初始化工作目录。