应用跨地域访问KMS实例

当应用部署在阿里云多个地域的VPC内且需要使用KMS时,您可以通过建立跨地域VPC间连接、使用云解析PrivateZone配置KMS实例域名解析,来实现跨地域访问KMS实例。本文介绍如何配置应用跨地域访问KMS实例。

背景信息

当应用需要访问KMS实例的资源时,请您先确认应用的环境是否和KMS实例VPC网络打通,以及是否正确配置了KMS实例域名解析。

如果应用的VPCKMS实例在同一地域,请将该VPC绑定到KMS实例,应用即可正常访问KMS实例中的资源。该场景无需您手动配置KMS实例域名解析。具体操作,请参见同地域多VPC访问KMS实例。如果是跨地域,网络打通您可以参考如下方案。

  • VPC互联的解决方案

    即本文介绍的内容。您可以通过使用云企业网CEN(Cloud Enterprise Network)、VPN网关、VPC对等连接或者私网连接(PrivateLink)这几种方案实现VPC之间的私网互通。关于这几种跨VPC互联解决方案的特点、介绍以及配置方法,请参见VPC互连

  • 公网如何连接VPC

    您可以通过ECS实例固定公网IP、弹性公网IP、NAT网关或者负载均衡使专有网络VPC中的云资源可以访问公网或被公网访问。具体操作,请参见公网访问

  • IDC如何连接VPC

    您可以通过VPN网关、高速通道物理专线或智能接入网关将本地数据中心和云上专有网络打通,构建混合云。具体操作,请参见VPC连接本地数据中心/其他云

域名解析设置,请参见内网DNS解析简介

应用场景

  • 您在不支持KMS的地域有使用KMS的需求,可以在支持的地域购买KMS实例,然后配置应用跨地域访问KMS实例。KMS支持的地域,请参见地域和可用区

  • 应用部署在多个地域的VPC(属于同账号或不同账号)内,出于降低IT服务采购费用、密钥管理工作量等方面的因素,仅希望在少数地域购买KMS服务。

功能介绍

配置跨地域访问KMS实例时,首先需要设置跨地域的多个VPC连通,然后通过PrivateZone配置KMS实例域名解析并关联VPC,从而使您的KMS实例可被部署在其他地域的应用集成。

PrivateZone,是基于阿里云专有网络VPC(Virtual Private Cloud)环境的私有DNS服务,支持您在自定义的一个或多个VPC中将私有域名映射到IP地址。更多信息,请参见什么是PrivateZone

例如VPC1KMS实例所在的VPC,VPC2VPC1不在同一地域,但VPC2内的应用需要访问KMS实例中的密钥和凭据,整体系统架构图如下:

image

注意事项

  • 使用该方案前,您需要评估VPC间连接的成本、PrivateZone服务的成本、服务等级协议、带宽能力、生效时间等限制条件,并制定在多个地域部署应用的系统架构、网络架构、运维管理方案、应急预案。

    说明

    计算KMS服务可用性时,由于PrivateZone配置、VPC连接配置的正确性原因导致请求未到达KMS实例时,不计入失败请求。

  • 跨地域访问KMS实例仅用于用户自建应用集成KMS的使用场景,不适用云产品服务端加密集成KMS的使用场景。

  • 如果您的KMS实例的VPC或私网IP变更,您通过本方案建立的KMS实例服务访问通道处于不可用状态,需要重新设置PrivateZone的解析。导致KMS实例的VPC或私网IP变更的操作为:您使用的是KMS硬件密钥管理实例,并进行了断开再连接的操作。

前提条件

已购买和启用KMS实例。具体操作,请参见购买和启用KMS实例

步骤一:查询KMS实例所在的VPC和私网IP

查询KMS实例所在的VPC和私网IP,在后续通过PrivateZone配置KMS实例域名解析时会用到这些信息。

查询KMS实例所在的VPC

  • 方式一:通过控制台查询

    1. 登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击资源 > 实例管理

    2. 定位到目标实例,单击操作列的详情

    3. 资源共享页签中,单击VPC页签,页面下方带有image图标的即KMS实例所在的VPC。image

      说明

      列表中展示的VPC均和KMS实例在同一地域,本文配置的跨地域访问的VPC不会展示在该列表中。

  • 方式二:通过API查询

    调用GetKmsInstance接口,返回数据中VpcId即为KMS实例所在的VPC。

查询KMS实例的私网IP

  • 方式一:通过云解析DNS控制台查询

    1. 登录云解析DNS控制台

    2. 在左侧导航栏单击内网域名解析,按照控制台指引开通PrivateZone。如果您已开通过,请跳过本步骤。

    3. 内网权威页面下方单击云产品域名页签。

    4. 云产品选择密钥管理服务,或者Zone名称输入cryptoservice.kms.aliyuncs.com进行搜索。

    5. 光标放在云VPC上,通过VPC定位到目标Zone,单击操作列的查看解析image

    6. 解析设置页面查看并记录记录值,即KMS实例的私网IP。

  • 方式二:通过ping命令查询。

    KMS实例所在的VPC的一台ECS上执行ping命令,从解析结果中获得KMS实例的私网IP。域名格式为:{KMS实例ID}.cryptoservice.kms.aliyuncs.com

    例如:执行ping kst-szz63292789pf******.cryptoservice.kms.aliyuncs.com查询实例的私网IP地址,从解析结果中看到IP地址为172.16.XX.XX。预期输出示例:

    正在ping kst-szz63292789pf******.cryptoservice.kms.aliyuncs.com [172.16.XX.XX] 具有32字节的数据

步骤二:配置VPC间网络互通

VPC之间默认是不互通的,您需要将KMS实例所在VPC和其他地域的VPC之间建立连接。

阿里云专有网络VPC产品提供了一些产品方案来支持VPC间连接需求,例如云企业网、VPC对等连接,可用来实现跨地域、同账号或不同账号的VPC间连接。具体操作,您可以参考如下文档:

步骤三:通过PrivateZone配置域名解析并关联VPC

通过PrivateZone配置将KMS实例私有域名映射到IP地址,可以使得您部署到其他地域的应用访问该KMS实例。

  1. 登录云解析DNS控制台

  2. 添加Zone。

    1. 单击内网域名解析,在内网权威页签下方的用户域名页签,单击添加域名(Zone)

    2. 输入内网权威域名 (Zone)域名生效范围选中需要关联的VPC,然后单击确定

  3. Zone设置PrivateZone解析记录。

    1. 在域名列表中找到目标Zone,单击操作列的解析记录

    2. 解析记录页签,单击添加记录,输入配置项后单击确定

      • 记录类型:选择A

      • 主机记录:填写KMS实例ID。

      • 记录值:填写KMS实例的私网IP。

      • TTL:缓存时间,数值越小,修改记录各地址生效时间越快,默认为1分钟。您可以根据实际需求修改。

步骤四:验证上述配置是否成功

步骤三:通过PrivateZone配置域名解析并关联VPC中新关联VPC的一台ECS上执行ping命令,如果解析出的私网IP地址与步骤一:查询KMS实例所在的VPC和私网IP中查询到的私网IP地址相同,则表示配置成功。

后续操作

  • 如何使用KMS实例中的密钥,请参见阿里云SDK

  • 如何使用KMS实例中的凭据,请参见凭据SDK