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,请重新覆盖安装正确版本。