本文介绍如何通过Terraform购买并启用KMS软件密钥管理实例。
概述
购买并启用软件密钥管理实例时,您需要为该KMS实例绑定VPC以及交换机,也支持为该KMS实例关联多个VPC。配置完成后生成CA实例证书,请您妥善保存,在应用访问KMS实例时需要配置该CA实例证书。
了解更多关于KMS软件密钥管理实例的配置信息,请参见alicloud_kms_instance。
使用限制
Terraform需要为0.14.0及以上版本,建议使用最新版本,您可以登录Terraform官网下载。
仅支持购买及启用软件密钥管理实例,不支持购买及启用硬件密钥管理实例。
前提条件
使用RAM用户登录Terraform时,需要为该RAM用户授予AliyunKMSFullAccess(管理密钥管理服务)、AliyunVPCFullAccess(管理专有网络)和AliyunBSSFullAccess(管理费用中心BSS)权限。具体操作,请参见为RAM用户授权。
操作步骤
创建一个工作目录,并且在工作目录中创建以下名为
main.tf
的配置文件。main.tf:Terraform主文件,定义了将要部署的资源。
//创建VPC resource "alicloud_vpc" "example" { vpc_name = "terraform-example" cidr_block = "172.16.XX.XX/16" } //创建一个Vswitch resource "alicloud_vswitch" "example1" { vpc_id = alicloud_vpc.example.id cidr_block = "172.16.XX.XX/24" zone_id = "cn-chengdu-a" vswitch_name = "terraform-example-1" } //创建另一个Vswitch resource "alicloud_vswitch" "example2" { vpc_id = alicloud_vpc.example.id cidr_block = "172.16.XX.XX/24" zone_id = "cn-chengdu-b" vswitch_name = "terraform-example-2" } //创建KMS软件密钥管理实例,并使用网络参数启动 resource "alicloud_kms_instance" "software_instance_example" { //软件密钥管理实例 product_version = "3" //计算性能、密钥数量、凭据数量、访问管理数量 spec = "1000" key_num = "1000" secret_num = "2000" vpc_num = "3" //自动续费状态、自动续费周期,单位“月” renew_status = "AutoRenewal" renew_period = "3" //为KMS实例设置网络参数 vpc_id = alicloud_vpc.example.id zone_ids = [alicloud_vswitch.example1.zone_id, alicloud_vswitch.example2.zone_id] vswitch_ids = [alicloud_vswitch.example1.id,alicloud_vswitch.example2.id] //为KMS实例关联其他VPC //如果VPC与KMS实例的VPC属于不同阿里云账号,您需要先共享交换机。 bind_vpcs { vpc_id = "vpc-j6cy0l32yz9ttxfy6****" vswitch_id = "vsw-j6cv7rd1nz8x13ram****" region_id = "cn-hangzhou" vpc_owner_id = "119285303511****" } bind_vpcs { vpc_id = "vpc-j6cy0l32yz9ttd7g3****" vswitch_id = "vsw-3h4yrd1nz8x13ram****" region_id = "cn-hangzhou" vpc_owner_id = "119285303511****" } } //保存KMS实例CA证书到本地文件 resource "local_file" "ca_certificate_chain_pem" { content = alicloud_kms_instance.default.ca_certificate_chain_pem filename = "ca.pem" }
执行
terraform init
命令初始化Terraform运行环境。执行
terraform plan
命令生成资源规划。执行
terraform apply
命令。