文档首页/ 函数工作流 FunctionGraph/ 常见问题/ 通用问题/ FunctionGraph函数如何解析DNS内网域名?
更新时间:2024-09-04 GMT+08:00
分享

FunctionGraph函数如何解析DNS内网域名?

当前FunctionGraph函数无法直接解析华为云解析服务(DNS)的内网域名,当需要在函数中解析DNS域名,可参考本章节操作,通过调用DNS服务的接口,实现解析功能。

解析DNS内网域名

您需要提前创建VPC和DNS内网域名,再按照如下步骤操作。

  1. 内网域名关联VPC并添加记录集

    登录云解析服务控制台,将内网域名关联VPC。
    图1 关联VPC
    点击进入域名并添加记录集,类型选择A。
    图2 添加记录集

  2. 创建函数

    创建一个运行时语言为Python 2.7版本的函数,代码示例如下:

    # -*- coding:utf-8 -*-
    import json
    import os
    def handler(event, context):
         os.system("curl -iv www.test.com")

  3. 为函数配置DNS与VPC委托

    在IAM页面,为函数工作流服务配置“DNS ReadOnlyAccess”以及“VPC Administrator”权限的委托。

    图3 创建DNS与VPC委托

    在进行解析域名时,函数需要查看云解析服务资源,所以必须要配置DNS资源数据读取权限,否则在执行函数时,会提示如下错误,获取不成功。

    2020/08/20 10:37:12 GMT+08:00  Start invoke request 'a2f105b4-2e72-4fda-94a5-86d3837e961d', version: latest
    [GET /v2/zones/{zone_id}/recordsets] failed, response: {"code":"DNS.1802","message":"Policy doesn't allow dns:recordset:list to be performed."}
    2020/08/20 10:37:13 GMT+08:00  Finish invoke request 'a2f105b4-2e72-4fda-94a5-86d3837e961d', duration: 1030.072ms, billing duration: 1100ms, memory used: 77.039MB.

  4. 配置函数

    进入2创建的函数详情页面,在“设置”页签下,执行以下配置。

    1. “权限”选择3创建的委托。
    2. 打开VPC访问开关,配置上述操作中创建的VPC、子网、域名,详情参考图4
    图4 配置函数

  5. 验证结果

    保存后执行函数时,就能在代码中解析该域名中配置的所有IPV4类型的域名。

    图5 执行函数

用户配置了VPC域名解析后,如果在DNS云解析服务中修改域名对应的IP,10min后稳定生效。

相关文档