问题描述
APIM服务在配置网络之后,查看网络状态发现Management Endpoint是不健康状态, 提示无法连接到3443端口。
错误消息:
Failed to connect to management endpoint at xxxxxxxx.management.azure-api.cn:3443 for a service deployed in a virtual network. Make sure to follow guidance at https://aka.ms/apim-vnet-common-issues.
问题解答
因为APIM集成虚拟网络之后,需要配置NSG(网络安全组)中对固定的端口需要访问允许。如果APIM服务所用的子网根本没有配置NSG的情况下,按照常理来说,是放通的。不应该出现3443端口报错的。
但是,经过测试,如果没有配置NSG的情况下,也是会出现 Failed to connect to management endpoint at xxxxxxxx.management.azure-api.cn:3443 错误。
解决办法就是:添加NSG并放通3443端口的入站流量。因为没有关联网络安全组的子网,所有的入站流量都被阻止了。
VM入站流量解答
下图描述了如何使用不同的方案来部署网络安全组,以便网络流量通过 TCP 端口 80 出入 Internet:
对于入站流量,Azure 先处理与某个子网相关联的网络安全组(如果有)中的规则,然后处理与网络接口相关联的网络安全组(如果有)中的规则。 此过程也包括子网内流量。
VM1:系统会处理 NSG1 中的安全规则,因为它与 Subnet1 关联,而 VM1位于 Subnet1 中。 除非已创建允许端口 80 入站的规则,否则 DenyAllInbound默认安全规则会拒绝流量。 NSG2 不会评估这些被阻止的流量,因为它们与网络接口相关联。 但是,如果 NSG1 在其安全规则中允许端口 80,NSG2 会处理该流量。 若要允许从端口 80 到虚拟机的流量,NSG1 和 NSG2 必须指定一条规则来允许从 Internet 到端口 80 的流量。
VM2:系统会处理 NSG1 中的规则,因为 VM2 也在 Subnet1 中。 VM2 没有关联到其网络接口的网络安全组,因此会接收 NSG1 所允许的所有流量,或者会受到 NSG1 所拒绝的所有流量拒绝。 当网络安全组关联到子网时,对于同一子网中的所有资源,流量要么被允许,要么被拒绝。
VM3:由于没有网络安全组关联到 Subnet2,系统允许流量进入子网并由 NSG2 处理,因为 NSG2 关联到已附加到 VM3 的网络接口。
VM4:阻止流量发往 VM4,因为网络安全组没有关联到 Subnet3 或虚拟机中的网络接口。 如果没有关联的网络安全组,则阻止所有网络流量通过子网和网络接口。
参考资料
APIM虚拟网络配置所需端口 : https://learn.microsoft.com/zh-cn/azure/api-management/virtual-network-reference?tabs=stv2#required-ports
网络安全组如何筛选网络流量 : https://learn.microsoft.com/zh-cn/azure/virtual-network/network-security-group-how-it-works#inbound-traffic
标签:网络安全,Management,端口,流量,子网,3443,APIM From: https://www.cnblogs.com/lulight/p/18684377