基于VPC终端节点与应用型负载均衡在内部网站部署API网关API
方案概述
为了满足组织对私有API不可从互联网访问且使用自定义域名的合规要求,通过VPC终端节点(VPCEP)、独享型应用负载均衡(ELB)、API网关专享版(APIG)和云解析服务(DNS),将API网关API部署到可从本地数据中心(On-Premises)网络访问的内部网站上。利用私有终端节点、应用型负载均衡和内网域名解析构建一种架构,使得内部网络中的Web流量可以根据ELB监听器的转发规则,定向到网站后端服务器组或API网关后端服务器组。
该架构可避免因在非路由子网部署VPC终端节点导致网络不可达的问题,也避免通过自定义域名和代理服务器进行域名路由时可能产生的副作用(例如将APIG流量经云专线传递给本地数据中心时导致其他内部站点中断)。
方案架构
如下架构图展示了独享型应用负载均衡(ELB)部署在VPC中,根据监听器转发规则将Web流量定向转发至网站后端服务器组或API网关后端服务器组。
APIG配置为内网访问模式,其后端服务器组中的后端服务器地址为VPC终端节点的IP地址,通过访问控制策略限制仅允许来自特定VPC终端节点的调用;APIG的自定义域名更新为api.domain.com,ELB转发策略根据主机头(Host Header)路由流量。

- DNS解析与SSL卸载
本地数据中心的用户尝试访问内部网站,请求发送至ui.domain.com和api.domain.com。通过云专线/VPN到达华为云VPC后,DNS将域名解析到内网ELB的地址。SSL在ELB处卸载(终止),ELB使用SCM托管的SNI证书分别为ui.domain.com和api.domain.com提供HTTPS服务。
- ELB监听器转发策略基于域名转发流量
约束与限制
- IP类型后端开启后无法关闭,单个后端服务器最多支持10万并发连接数。
- VPCEP接口型终端节点与终端节点服务一一对应;终端节点服务需配置白名单方可被其他账号访问。
- API网关专享版内网域名无需备案,A记录解析到实例入口地址或CNAME解析到分组调试域名。
准备工作
- 用于网站和API的SNI证书(涵盖ui.domain.com和api.domain.com)。
- 已通过云专线或VPN建立本地数据中心到华为云VPC的网络连接。
- 已在DNS控制台创建内网域名,且可从本地数据中心解析(通过DNS解析器的入站终端节点将本地DNS请求转发至华为云内网DNS)。
- 部署可路由的私有子网,确保本地数据中心网络可正常访问此私有子网。
工具说明
| 服务 | 说明 |
| 帮助您创建、发布、维护、监控和保护REST API,支持任意规模的API调用。专享版实例运行在用户VPC内,支持内网访问和自定义域名。 | |
| 高可用、高扩展的DNS服务。支持内网域名解析,将内网域名与VPC内的私网IP关联,为华为云上资源提供VPC内的域名解析服务。 | |
| 提供SSL证书管理(SCM)和私有证书管理(PCA)功能。SCM联合全球知名CA机构,提供SSL证书全生命周期管理,支持一键部署到ELB和WAF。 | |
| 在VPC和终端节点服务之间建立私有连接通道,无需通过公网即可访问云服务或用户私有服务。支持接口型和网关型两种终端节点服务。 |
实施步骤
本方案主要包含创建SNI证书、在非路由私有子网部署VPC终端节点、配置ELB、配置DNS、部署APIG等5项任务。
步骤一:创建SNI证书
| 任务 | 描述 | 所需技能 |
| 创建SNI证书并导入至CCM |
| 网络管理员 |
步骤二:在非路由私有子网部署VPC终端节点
| 任务 | 描述 | 所需技能 |
| 创建API网关的接口型VPC终端节点 |
详见购买终端节点。 | 云管理员 |
步骤三:配置弹性负载均衡
| 任务 | 描述 | 所需技能 |
| 为应用创建后端服务器组 | 创建后端服务器组用于网站资源,添加VPC内的ECS实例作为后端服务器。 详见创建后端服务器组。 | 云管理员 |
| 为API网关终端节点创建后端服务器组 |
| 云管理员 |
| 创建独享型应用负载均衡 |
详见购买独享型负载均衡器。 | 云管理员 |
| 创建监听器转发策略 | 在HTTPS监听器上创建转发策略:
详见添加转发策略。 说明: 独享型ELB开启高级转发策略后,还支持基于HTTP请求头、查询字符串、网段等更丰富的转发规则。 | 云管理员 |
步骤四:配置云解析服务
| 任务 | 描述 | 所需技能 |
| 创建内网域名 | 在云解析服务DNS中创建内网域名domain.com,并关联到VPC。 详见创建内网域名。 | 云管理员 |
| 创建内网域名解析记录 | 为内网域名添加2个CNAME类型解析记录:
详见添加内网域名解析记录。 说明: 也可以选择添加A类型解析记录,记录值指向ELB的内网IP地址。 | 云管理员 |
步骤五:在API网关创建私有API端点
| 任务 | 描述 | 所需技能 |
| 创建并配置专享版APIG实例 |
详见创建APIG实例。 | 应用开发者,云管理员 |
| 创建API并配置访问控制 |
详见配置API的访问控制。 | 应用开发者,云管理员 |
| 绑定自定义域名 |
详见配置API的调用域名和绑定域名。 | 云管理员 |