【API管理 APIM】APIM集成内部VNet时,常遇见的关于自定义DNS服务问题。

简介: 【API管理 APIM】APIM集成内部VNet时,常遇见的关于自定义DNS服务问题。

问题描述

Azure 的APIM集成虚拟网络有两种方式,外部VNET, 内部VNET.

  • 外部VNET,要求低,可以通过APIM访问VNET中的VM等资源,不需要配置自定义DNS服务器,这种方式下,APIM没有内部的私有IP。
  • 内部VNET,要求多,需要自定义DNS服务器,并且外部不能访问APIM的接口,只能在VNET的资源(如VM)中访问。必须在DNS 服务器中配置A记录,指定访问到为APIM分配的内网IP地址。

而在配置内部VNET的时候,需要先准备好:

  • VM (Azure 中虚拟机,用于作为DNS服务器)
  • VNET (虚拟网络)
  • 独立的子网
  • 在VNET中修改默认的DNS服务器到自定义的DNS服务器中,注意,这里需要配置的是该VM的内网地址

由于在使用APIM的时候,可能对DNS的配置,VNET中的设置都不熟悉,以下的步骤就是介绍如何配置DNS, 修改VNET,及完成内部VNET集成。

 

 

一:启用自定义DNS服务器

  (由于APIM在对VNET的修改耗时非常长,15~45分钟左右,所以可以先准备好DNS服务器以节约时间)

  以Windows Server 2016 DataCenter为例,启动DNS Server非常简单,在Windows添加角色中选择DNS Server后,之后的操作全部默认下一步就可以。

  

   等安装好之后,下一步就是配置 正向解析 (通过域名解析出IP地址)。 选择Forward Lookup Zones -> New Zone -> 输入需要添加的Zone名字,如azure-api.cn。然后就是一切默认值到最后。

  

     在新建的Zone中添加A记录: 这一步需要等到APIM中完成VNET集成后,根据文档中的需要,把以下的内容都配置到该Zone下。


10.1.0.5 contosointernalvnet.azure-api.cn
10.1.0.5 contosointernalvnet.portal.azure-api.cn
10.1.0.5 contosointernalvnet.developer.azure-api.cn
10.1.0.5 contosointernalvnet.management.azure-api.n
10.1.0.5 contosointernalvnet.scm.azure-api.cn
Reference Link: https://docs.azure.cn/zh-cn/api-management/api-management-using-with-internal-vnet#apim-dns-configuration

  当然,这里需要修改为APIM的内网IP地址和自定义的APIM域名。配置完成后的效果如下:

     

 

 

二:在Azure VNET中修改默认的DNS服务器为该VM的内网IP地址

 (此点是必须的操作,不然在该VM中或者是同一VNET的VM中都无法解析到配置的DNS域名,但使用Ping时,获取到这样的错误,则表示配置的DNS服务器还没有在整个VNET中有效)

C:\Users\vmadmin>ping lbapimvnet01.azure-api.cn

Ping request could not find host lbapimvnet01.azure-api.cn. Please check the name and try again.

  需要的修改办法及在VNET中设置自定义的DNS服务器,默认使用的是由Azure提供的DNS服务器,但是当使用APIM集成内部VNET时,则必须自定义DNS服务器,不然内网中的所有资源均无法访问APIM.

  • 注意,这里DNS服务器的地址必须为内网的IP地址

配置成功后,可以使用nslookup来查看配置的DNS是否生效。测试效果如:

 

 

参考文档

如何使用Windows Server搭建DNS服务器: https://www.58voip.com/build-windows-server-dns/

在内部虚拟网络中使用 Azure API 管理服务:https://docs.azure.cn/zh-cn/api-management/api-management-using-with-internal-vnet#apim-dns-configuration

 

 

相关文章
|
11月前
|
API 网络安全 网络架构
【Azure APIM】解答REST API实现"禁用自签名证书的证书链验证"中的backends参数值从那里取值的问题?
本文介绍APIM服务调用后端API时因自签名证书导致500错误的解决方案。通过REST API禁用证书链验证,关键在于获取正确的backendId(即APIM中配置的Backend名称),并调用PATCH接口设置validateCertificateChain为false,从而解决SSL/TLS信任问题。
350 7
|
缓存 监控 供应链
唯品会自定义 API 自定义操作深度分析及 Python 实现
唯品会开放平台提供丰富API,支持商品查询、订单管理、促销活动等电商全流程操作。基于OAuth 2.0认证机制,具备安全稳定的特点。通过组合调用基础接口,可实现数据聚合、流程自动化、监控预警及跨平台集成,广泛应用于供应链管理、数据分析和智能采购等领域。结合Python实现方案,可高效完成商品搜索、订单分析、库存监控等功能,提升电商运营效率。
|
缓存 监控 供应链
京东自定义 API 操作深度分析及 Python 实现
京东开放平台提供丰富API接口,支持商品、订单、库存等电商全链路场景。通过自定义API组合调用,可实现店铺管理、数据分析、竞品监控等功能,提升运营效率。本文详解其架构、Python实现与应用策略。
缓存 监控 供应链
451 0
缓存 监控 数据挖掘
299 0
|
监控 安全 数据挖掘
构建自定义电商数据分析API
在电商业务中,构建自定义数据分析API可实现销售、用户行为等指标的实时分析。本文介绍如何设计并搭建高效、可扩展的API,助力企业快速响应市场变化,提升决策效率。
|
XML 安全 API
【Azure APIM】API Management的Policy是否支持 SAML assertion?
本文探讨了API Management是否支持通过策略(如validate-jwt)验证SAML assertion的问题。结论是API Management目前不支持SAML assertion验证,因其为XML-based token,而validate-jwt仅适用于JWT tokens。文章进一步介绍了SAML(安全断言标记语言)的基本原理、Assertion的组成及用途,包括单点登录(SSO)、跨组织身份验证、云服务集成和安全性增强等方面,帮助读者深入了解SAML的工作机制及其应用场景。
229 25
|
机器学习/深度学习 人工智能 自然语言处理
企业级API集成方案:基于阿里云函数计算调用DeepSeek全解析
DeepSeek R1 是一款先进的大规模深度学习模型,专为自然语言处理等复杂任务设计。它具备高效的架构、强大的泛化能力和优化的参数管理,适用于文本生成、智能问答、代码生成和数据分析等领域。阿里云平台提供了高性能计算资源、合规与数据安全、低延迟覆盖和成本效益等优势,支持用户便捷部署和调用 DeepSeek R1 模型,确保快速响应和稳定服务。通过阿里云百炼模型服务,用户可以轻松体验满血版 DeepSeek R1,并享受免费试用和灵活的API调用方式。
1044 12
|
机器人 API
自定义飞书Webhook机器人api接口
自定义飞书Webhook机器人api接口
1730 25
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
4157 65
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel

推荐镜像

更多
  • DNS