你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文提供有关使用 API 管理登陆区域加速器时运营管理的设计注意事项和建议。 运营管理涉及多个方面,包括:
- 配置、扩展和监视 API 管理实例
- 在网关中配置策略
- 管理 API
- 准备业务连续性和灾难恢复
详细了解 管理 设计区域。
管理和监视
管理和监视的设计注意事项
- 请注意每个 API 管理服务层的最大 吞吐量限制 。 这些限制是近似的,不能保证。
- 请注意每个 API 管理服务层的最大 缩放单位 数。
- 请注意横向扩展、部署到其他区域或转换为其他服务层所需的时间。
- API 管理不会自动横向扩展;需要 其他配置 。
- 横向扩展事件期间不会停机。
- 仅将 API 管理的网关组件部署到 多区域部署中的所有区域。
- 请注意 Application Insights 日志记录 在高负载时对性能可能产生的影响。
- 请注意应用的入站和出站策略的数量及其对性能的影响。
- API 管理策略是代码,应在版本控制下
- API 管理的 内置缓存 由同一 API 管理服务中同一区域中的所有单元共享。
- 使用 可用性区域。 所选缩放单元的数量必须在各个区域之间均匀分布。
- 如果使用 自承载网关,请注意凭据每 30 天过期一次,并且必须轮换。
- URI
/status-0123456789abcdef可用作 API 管理服务的常见运行状况终结点。 - API 管理服务不是 WAF。 在前面部署 WAF(例如 Azure 应用程序网关)以增加保护层。
- 在每个网关配置中启用客户端证书协商。
- 密钥保管库中的证书和机密在设置后的 4 小时内在 API 管理中更新。 还可以使用 Azure 门户或通过管理 REST API 手动刷新机密。
- 自定义域 可以应用于所有终结点或仅应用于子集。 高级层支持为网关终结点设置多个主机名。
- 可以使用其管理 REST API 来备份 API 管理。 备份在 30 天后过期。 请注意 API 管理未备份的内容。
- 命名值是全局的。
- API操作可以被分组到产品和订阅中。 根据实际业务需求进行设计。
管理和监控的设计建议
- 仅将自定义域应用于网关终结点。
- 使用 事件中心策略 在高性能级别进行日志记录。
- 使用 外部缓存 来优化控制和实现最快的性能。
- 在每个区域内部署至少两个分布于两个可用区的缩放单元,以实现最佳可用性和性能。
- 使用 Azure Monitor 自动缩放 API 管理。 如果使用自托管网关,请使用 Kubernetes 水平 Pod 自动缩放器 来扩展网关。
- 在 Azure 没有靠近后端 API 的地区部署自托管网关。
- 使用 Key Vault 进行证书存储、通知和轮换。
- 除非需要,否则不要启用 3DES、TLS 1.1 或更低加密协议。
- 使用 DevOps 和基础结构即代码做法来处理所有部署、更新和灾难恢复。
- 为每个 API 更新创建 API 修订 和变更日志条目。
- 使用 后端 消除冗余 API 后端配置。
- 使用 命名值 来存储可在策略中使用的常见值。
- 使用 Key Vault 存储命名值可以引用的机密。 密钥保管库中更新的机密在 API 管理中自动轮换
- 制定通信策略,通知用户中断 API 版本更新。
- 配置 诊断设置 ,将 AllMetrics 和 AllLogs 转发到 Log Analytics 工作区。
业务连续性和灾难恢复
业务连续性和灾难恢复的设计注意事项
- 确定要保护的 API 管理实例的恢复时间目标(RTO)和恢复点目标(RPO),以及它们支持的产业链(使用者和提供程序)。 请考虑部署新的计算实例或进行热备份/冷备份。
- API 管理支持 多区域 和 多区域 部署。 根据要求,可以只启用一个或两者。
- 故障转移可以自动化:
- 多区域部署会自动故障转移。
- 多区域部署需要基于 DNS 的负载均衡器(例如流量管理器)进行故障转移。
- API 管理可以使用其管理 REST API 进行备份。
- 备份在 30 天后过期。
- 请注意 APIM 未备份的内容
针对业务连续性和灾难恢复的设计建议
- 使用 用户分配的托管标识 进行 API 管理,以防止从 ARM 模板重新部署期间停机。 如果使用系统分配的托管标识,则在删除资源时,将删除此标识及其关联的角色和分配,例如 Azure Key Vault 机密访问。 如果使用用户分配的托管标识,这些分配将保持不变,使你能够将其关联回 API 管理,而不会丢失访问权限。
- 请使用“Azure Pipelines”的自动化来运行备份。
- 确定是否需要 多区域部署 。
企业规模假设
以下是用于开发 API 管理登陆区域加速器的假设:
- 建议使用支持可用性区域和多区域部署的 API 管理的高级层实例。
- Azure Pipelines 用于管理和部署基础设施即代码。