VPC授权连通性测试用于验证API网关实例到您授权的VPC中实例的网络连通性,有助于将API调试阶段由于网络连通问题引发的调用失败提前暴露。本文将重点介绍VPC授权连通性测试功能,以及如何根据排错引导解决连通性测试失败的情况。
1. 概述
VPC授权可以创建一个授权记录来允许API网关访问您部署在您自己的VPC中的业务服务,创建VPC授权时,您需要准备您自己的VPC的VPC ID、您VPC中对外提供服务的CLB实例ID或ECS实例ID、以及对外提供服务的端口号。这三条数据可以唯一确定您的一个业务服务,并授权API网关访问该业务服务,具体可参考使用VPC内资源作为API的后端服务。
2. 连通性测试
进入API网关控制台-API管理-VPC授权,根据上述文档创建VPC授权。在操作列表可以看到连通性测试。点击连通性测试,选择您要测试连通性的API网关实例。 点击测试,则会发起从您选择的API网关到您的VPC授权中指定的业务服务的网络探测。
2.1. 连通性测试成功
发起测试后,如果API网关实例到您的VPC授权中的服务的网络是连通的,则您会看到在实例下拉框前面出现一个绿色打钩,表示当前连通性测试成功。
2.2. 连通性测试失败
当连通性测试失败时,大部分情况会出现下述提示,表示API网关实例到您VPC授权中的服务的网络不连通。
2.2.1. 排错引导
对于上述网络不连通的情况,点击排错引导会出现一个问题排查弹窗,其中包含一系列步骤可以引导您进行问题排查。弹窗内容会根据您VPC授权中实例ID类型来显示CLB的排查引导或ECS排查引导,您只需根据提示进行排查即可。
该问题排查过程基本可以分为三步:
1)核对VPC授权信息的正确性
在创建VPC授权时,需要您填写 VPC ID、实例ID、服务端口号。这一步就是提示您到对应的云产品控制台核对一下您填写的信息是否正确。
2)检查ECS实例的安全组(检查CLB实例的黑白名单)
如果您VPC授权中实例为ECS,并且ECS实例配置了安全组,则需要根据提示到ECS云产品控制台将API网关实例的出口地址配置到ECS实例的安全组的入方向策略中。
如果您VPC授权中实例为CLB,并且CLB实例配置了白名单访问控制策略,那么需要将API网关实例的出口地址配置到对应访问控制策略组的地址条目中。
3)检查后端服务的启动状态
该步骤需要您检查后端业务服务的运行状态、健康状态。如果VPC授权中填写的实例为ECS,则可以检查ECS服务器实例的健康状态;如果VPC授权中填写的实例为CLB,则可以检查CLB实例中您配置的监听的运行状态和健康检查状态是否正常。为了验证您填写的端口服务的有效性,您可以通过在您的VPC中任意登录一台服务器,并通过curl命令检查您配置的ECS或CLB对应端口是否处于服务监听状态。