当业务应用在多地域采用主备或多活容灾部署时,为保证容灾场景下的业务连续性,推荐使用 KMS 的跨地域同步功能:在多个地域分别购买 KMS 实例(其中 1 个作为主实例,其他为副本实例)并同步资源。本文介绍如何同步主实例中的资源。
原理介绍
KMS 实例支持跨地域同步资源,可在分钟级完成资源同步。配置跨地域同步后,使用 KMS 密钥加密的业务应用即可实现异地多活容灾,主地域下的业务应用访问 KMS 主实例完成密码运算操作,容灾场景下,副本地域下的业务应用访问 KMS 副本实例完成密码运算操作。
KMS 仅同步主实例与副本实例间的资源,不涉及业务数据同步,业务数据的跨地域同步请另行规划。
适用范围
主实例限制:
实例所有者需为当前登录账户,且未同步过的任何副本实例。
实例类型需要为包年包月的软件密钥管理实例。
副本实例限制:
个数限制:每个主实例可以绑定3个副本实例。
地域限制:主实例、所有副本实例的地域均不能相同。
资源限制:副本实例下需未创建任何密钥或凭据资源,否则不支持绑定。
配额限制:副本实例的密钥数量、凭据数量配额,需要大于等于主实例。
实例类型:副本类型需要为包年包月。
凭据限制:如需同步凭据,主实例和副本实例版本需 >= 3.11.0。
跨境限制:不支持跨境同步实例。即主实例在中国内地地域时,副本实例也必须是中国内地地域。
资源同步说明
同步范围
支持同步密钥和凭据。
密钥:同步密钥的密钥ID、密钥版本、密钥材料、密钥状态、删除保护,不同步密钥策略、密钥别名、密钥标签。
说明暂不支持同步外部密钥材料(即BYOK类型密钥)。
凭据:支持同步通用凭据、RAM 凭据、数据库凭据和托管 ECS 凭据。
说明凭据同步需要主实例和副本实例版本 >= 3.11.0。
轮转逻辑
当配置了跨地域同步的密钥发生自动轮转时,KMS执行以下流程以确保数据可解密:
先将新创建的密钥版本同步至副本实例。
再将主实例和副本实例中的该版本同时提升为主版本(Primary Key Version)。
密钥策略同步说明
同步周期
绑定副本实例后会同步一次,耗时约3~5分钟,后续每分钟同步一次。
冲突处理
若副本实例中已存在相同 ID 的密钥,系统将跳过该密钥,继续同步其他资源。
操作步骤
购买并启用副本实例。具体操作,请参见购买和启用KMS实例。
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击。
在跨地域同步页面,单击添加副本实例。
在配置副本实例页面,选择主实例、备份实例,然后单击下一步。
说明同步策略仅支持
ignore,即数据同步遇到同一个keyId 或者同一个凭据名称,跳过重复资源,继续同步其他资源。在资源同步页面,选择资源同步类型,然后单击下一步。
密钥同步类型:支持多选,但不支持同时选择主实例全量同步和手动选择同步资源。
同步类型
说明
主实例全量同步
仅同步主实例中当前已创建的密钥,后续新增的密钥不会同步,密钥发生变更后将自动同步。
增量密钥同步
主实例中当前已创建的密钥不会同步,仅同步后续新增的密钥。
手动选择同步资源
仅同步选择的指定密钥,密钥发生变更后将自动同步。请在展开的密钥资源面板的左侧,勾选需要同步的密钥资源。
凭据同步类型:支持多选,但不支持同时选择主实例全量同步和手动选择同步资源。
重要凭据同步类型需要主实例和副本实例版本大于 3.11.0。若版本检测不通过,凭据同步任务将无法创建,请先升级对应实例的版本。
同步类型
说明
主实例全量同步
同步主实例中当前已创建的所有凭据,后续新增的凭据不会同步。
增量凭据同步
主实例中当前已创建的凭据不会同步,仅同步后续新增的凭据。
手动选择同步资源
仅同步选择的指定凭据,密钥发生变更后将自动同步。请在展开的凭据资源面板的左侧,勾选需要同步的凭据资源。
确认配置无误后,单击完成。同步约需要3~5分钟,请耐心等待。
可在同步结果页,在目标副本示例的结果页查看同步结果以及同步失败原因。
单击关闭,返回跨地域同步任务列表页,在目标主实例的同步任务列查看同步进度。
说明系统将在每分钟会自动同步一次进度,同步进度=(已同步密钥数 + 已同步凭据数)/ (待同步密钥数 + 待同步凭据数)× 100%。
后续操作
创建访问凭证后,主地域和副本地域中的业务应用可分别使用主实例和副本实例中的密钥完成密码运算操作。具体操作,请参见SDK参考。
阿里云 SDK :仅需创建一个访问凭证,且访问凭证仅支持可信实体为阿里云服务的 RAM 角色。
KMS 实例 SDK (不推荐):需在主实例和副本实例分别创建访问凭证,且访问凭证仅支持应用接入点 AAP 中的 ClientKey。具体操作,请参见创建应用接入点。