购买并启用软件密钥管理实例

本文介绍如何通过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用户授权

操作步骤

  1. 创建一个工作目录,并且在工作目录中创建以下名为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"
     }
    
    
  2. 执行terraform init命令初始化Terraform运行环境。

  3. 执行terraform plan命令生成资源规划。

  4. 执行terraform apply命令。