• 【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:Usersvmadmin>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

     

     

     

    当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

  • 相关阅读:
    5个人的晚餐
    replace(),indexOf(),substring(),split(),join(),——各种小知识点
    2016-11-01——孤独留给自己,开心让给别人
    CMS3.0——初次邂逅express
    项目三(集团官网)——总结(2) 递归创建子目录
    项目三(集团官网)——总结(1) cookie
    jQuery_pager.js分页
    thinkjs——修改where默认条件为or
    优化之——查询数据库
    go net库
  • 原文地址:https://www.cnblogs.com/lulight/p/13652391.html
Copyright © 2020-2023  润新知