Terraform是一种开源工具,用于安全高效地预览、配置和管理云基础架构和资源。本文介绍Terraform的基本概念和针对密钥管理服务 KMS(Key Management Service)的应用场景。
什么是Terraform
Terraform是IT基础架构自动化编排工具,可以用代码来管理维护IT资源。更多信息,请参见什么是Terraform。
- Terraform的命令行接口CLI(Command Line Interface)提供一种简单机制,用于将配置文件部署到阿里云或其他任意支持的云上,并对其进行版本控制。它编写了描述云资源拓扑的配置文件中的基础结构,例如虚拟机、存储账户和网络接口。 
- Terraform通过Provider支持新的基础架构,让您在阿里云上能够轻松使用简单模板语言来定义、预览和部署云基础结构。 
- Terraform可以创建、修改和删除多种阿里云产品的相关资源,例如ECS、VPC、RDS和SLB等。 
通过Terraform管理KMS资源
KMS支持通过Terraform管理以下资源。
| 资源类型 | 说明 | Provider版本 | 
| 创建并管理别名。 | 1.77.0及以上版本。 | |
| 创建并管理应用接入点。具体操作,请参见创建应用接入点。 | 1.210.0及以上版本。 | |
| 创建并管理应用身份凭证(ClientKey)。具体操作,请参见创建应用接入点。 | 1.210.0及以上版本。 | |
| 购买并启用KMS软件密钥管理实例。具体操作,请参见购买并启用软件密钥管理实例。 重要  仅支持购买及启用软件密钥管理实例,不支持购买及启用硬件密钥管理实例。 | 1.210.0及以上版本。 | |
| 创建并管理密钥。具体操作,请参见创建密钥。 | 1.85.0及以上版本。 | |
| 创建并管理密钥版本。 | 1.85.0及以上版本。 | |
| 创建并管理网络控制规则。具体操作,请参见创建应用接入点。 | 1.210.0及以上版本。 | |
| 创建并管理权限策略。具体操作,请参见创建应用接入点。 | 1.210.0及以上版本。 | |
| 创建并管理凭据。具体操作,请参见创建凭据。 | 1.76.0及以上版本。 | 
使用Terraform
- 安装Terraform且版本不低于0.14.0。 
- 配置阿里云账号信息。 - 选择一种阿里云认证方式,为Terraform的执行提供认证信息。 - 方式一:创建环境变量,用于存放身份认证信息(推荐)。 - 不同操作系统的环境变量配置方法不同,具体操作,请参见在Linux、macOS和Windows系统配置环境变量。 - export ALICLOUD_ACCESS_KEY="******" export ALICLOUD_SECRET_KEY="******" export ALICLOUD_REGION="******"
- 方式二:在配置文件的 - provider代码块中指定身份认证信息。- provider "alicloud" { access_key = "******" secret_key = "******" region = "******" }
 
- 查看Provider版本是否需要升级。 - 查看Provider版本 - terraform -version
- 升级Provider版本 - terraform init -upgrade
 
安装后您可以通过terraform --version命令查看Terraform版本,如果版本低于0.14.0,请重新覆盖安装正确版本。