你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

API 管理登陆区域加速器的操作管理注意事项

本文提供使用 API 管理登陆区域加速器时的操作管理设计注意事项和建议。 操作管理涵盖多个方面,包括:

  • 预配、缩放和监视 API 管理实例
  • 在网关中配置策略
  • 管理 API
  • 准备业务连续性和灾难恢复

详细了解管理设计领域。

监视和管理

管理和监视的设计注意事项

  • 请注意每个 API 管理服务层的最大吞吐量限制。 这些限制是近似值,不保证完全一致。
  • 请注意每个 API 管理服务层的最大缩放单位数。
  • 请注意横向扩展、部署到其他区域或转换为其他服务层所需的时间。
  • API 管理不会自动横向扩展;需要进行其他配置
  • 横向扩展事件期间不会停机。
  • 多区域部署中,只会将 API 管理的网关组件部署到所有区域。
  • 请注意高负载对 Application Insights 日志记录性能带来的可能影响。
  • 请注意应用的入站和出站策略的数量及其对性能的影响。
  • API 管理策略是代码,应在版本控制之下
  • API 管理的内置缓存由同一 API 管理服务中同一区域的所有单元共享。
  • 使用可用性区域。 选择的缩放单元数必须在区域间均匀分布。
  • 如果使用自承载网关,请注意凭据每 30 天过期一次,必须进行轮换。
  • URI /status-0123456789abcdef 可用作 API 管理服务的常见运行状况终结点。
  • API 管理服务不是 WAF。 在其他保护层前面部署 Azure 应用程序网关等 WAF。
  • 每个网关配置中都会启用客户端证书协商。
  • 在 API 管理中,密钥保管库中的证书和机密会在设置后的 4 小时内更新。 也可以使用 Azure 门户或通过管理 REST API 手动刷新机密。
  • 自定义域可以应用于所有终结点或仅应用于子集。 “高级”层级支持为“网关”终结点设置多个主机名。
  • API 管理可以通过其管理 REST API 进行备份。 备份在 30 天后过期。 请注意 API 管理未备份的内容。
  • 命名值是全局范围内的值。
  • API 操作可以分组到产品订阅中。 根据实际业务需求进行设计。

管理和监视的设计建议

  • 仅将自定义域应用于网关终结点。
  • 使用事件中心策略进行高性能级别的日志记录。
  • 使用外部缓存实现控制和最快性能。
  • 在每个区域的两个可用性区域中至少部署两个缩放单元,以实现最高可用性和最佳性能。
  • 使用 Azure Monitor 自动缩放 API 管理。 如果使用自承载网关,请使用 Kubernetes 水平 Pod 自动缩放程序横向扩展网关。
  • 如果 Azure 没有靠近后端 API 的区域,请部署自承载网关。
  • 将密钥保管库用于证书存储、通知和轮换。
  • 除非需要,否则不要启用 3DES、TLS 1.1 或更低加密协议。
  • 使用 DevOps 和基础结构即代码做法来处理所有部署、更新和灾难恢复。
  • 为每个 API 更新创建 API 修订版并更改日志条目。
  • 使用后端消除冗余 API 后端配置。
  • 使用命名值存储可在策略中使用的常见值。
  • 使用密钥保管库存储命名值可以引用的机密。 在密钥保管库中更新的机密会自动在 API 管理中轮换
  • 开发通信策略,以通知用户中断 API 版本更新。
  • 诊断设置配置为将 AllMetrics 和 AllLogs 转发到 Log Analytics 工作区。

业务连续性和灾难恢复

业务连续性和灾难恢复的设计注意事项

  • 确定要保护的 API 管理实例及其支持的值链(使用者和提供程序)的恢复时间目标 (RTO) 和恢复点目标 (RPO)。 请考虑部署新的实例或具有热/冷备用。
  • API 管理支持多区域多地区部署。 根据要求,可以只启用一种,也可以同时启用。
  • 可以自动进行故障转移:
    • 多区域部署会自动进行故障转移。
    • 多地区部署需要使用基于 DNS 的负载均衡器(例如流量管理器)进行故障转移。
  • API 管理可以通过其管理 REST API 进行备份

业务连续性和灾难恢复的设计建议

  • 用户分配的托管标识用于 API 管理,以防止从 ARM 模板重新部署期间停机。 如果使用系统分配的托管标识,则删除资源后,将删除此标识及其关联的角色和分配,例如 Azure 密钥保管库机密访问。 如果使用用户分配的托管标识,这些分配将保留,使你能够将其关联回API 管理,而不会丢失访问权限。
  • 使用自动执行的 Azure Pipelines 运行备份。
  • 确定是否需要多地区部署

企业级假设

下面是开发 API 管理登陆区域加速器时采用的假设:

  • 建议使用支持可用性区域和多地区部署的 API 管理的高级层实例。
  • Azure Pipelines 用于管理和部署基础结构即代码。